Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 500
   
8-31
CTI OS Developer’s Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted
Release 7.5(1)
Chapter 8      Session Object
Notes On Message Filters
In this form, the filter expression must start with a key name (key). Following the key must be an equal 
sign (=), and at least one value (value1) must be specified. Optionally, additional values (e.g. 
value2, …
) for the same key might be specified (optional parts of the expression are indicated with 
square brackets []). This will be interpreted as a logical OR among all of the values specified for that 
key, e.g. if any of those values is found, the condition will be satisfied.
For example, a filter expression with one key and multiple values might look like the following:
sFilterExpression = “AgentID=22866, 22867, 22868”
The interpretation of this filter is to match on any event with AgentID of 22866, 22867, or 22868. 
Combining Filters 
Multiple filters expressions (as described above) can be combined to create more complex expressions. 
The general form allows for any number of filters to be concatenated using the semicolon (;), which 
produces a logical AND effect. 
For example, a filter expression with multiple keys, each with multiple values might look like the 
following:
sFilterExpression = 
“AgentID=22866, 22867, 22868; SkillGroupNumber=20, 21”
The interpretation of this filter is to match on any event with AgentID of 22866, 22867, or 22868 and 
with SkillGroupNumber of 20 or 21. 
Filtering for Specific Events
One of the most powerful types of event filters for custom applications are filters that work on specific 
events. 
An example of such an application would be an “all agents” real time display, listing the agent states of 
all known agents at the call center, using the eAgentStateEvent to receive agent updates. To request 
specific events, use the MessageID keyword, and the numeric value for the event ID that you wish to 
receive:
‘ register for all eAgentStateEvents
sFilterExpression = “MessageID = 30”
It is also possible to obtain multiple specific events. For example, consider an all calls real-time display 
application, using eCallBeginEvent and eCallEndEvent to add or remove calls from a view:
‘ register for all eCallBeginEvents, eCallEndEvents
sFilterExpression = “MessageID = 23, 24”
Events Not Allowed In Filter Expressions
The following events cannot be used in filter expressions:
ePreLogoutEvent
ePostLogoutEvent
eOnConnection
eOnConnectionClosed