Server User Manual

Chapter 3 Event Monitoring
30 Agent Data Unit Server Programmers Guide
Example: ADU.Assign "loginid=Joe & ts.1.s=wrapup"
In the above example, the client has assigned to the ADU Server, asking it to watch for any ADU
that contains the following two values:
Joe in the field loginid
wrapup in the ts.1.s field.
In other words, notify the client every time Joe is in the wrapup state.
An example of a selection criteria string when making an ADU monitor request:
//[ADU.Monitor("adu_id=387cdde0000100000a6403b81f450002 |( type=per &
name=jonathan & connectrate=* ) | ( type=queue & name=phone_queue & idletime=*
)")]
Note the spaces between the parentheses and the type designation.
You can construct complex statements that evaluate multiple conditions by grouping expressions
together with parentheses to control the order of evaluation.
A single * character has a special meaning when used as a monitor criteria. It causes all local
ADUs (those in the local ADU Server) to be watched. This is used by the IC Manager and should
generally be avoided by other applications, as it generates a very large amount of event traffic.
Setting the monitor criteria to a null value (“”) stops monitoring.
The Assign method does not accept special tokens !, +, or the null token in container names. These
tokens have specific meanings for a particular ADU and vary from ADU to ADU. The Assign
method has no provision for names that do not have ADU-independent meaning.
The Assign and Monitor methods contain criteria strings that allow you to use additional syntax.
At the end of the string is a list of fields, called a projection list, enclosed in curly brackets where
you can specify filter criteria. The list is comma separated with no spaces between the fields.
For example,
{specification,specification...}
You can specify the type of field name in three ways:
1 A simple fieldname, such as a, b, or c.
2 A wildcard container name, such as a.* or a.*.d. The wildcard designation (*) can be used after
a dot (.), at either end of the specification, or followed by a dot (.) in the specification.
3 A request to retrieve all of the fields below a specified point in a container tree, as in a.b?.
This format collects all of the field names below the specified point in container tree. It does
not collect field names at its own level or higher on the tree.
Example:
+vdu_id> "" {call?,data.*,loginid}
Note: Spaces are optional after the selection criteria and before the projection list. The projection
list itself is optional, but no filtering is done without one. If a projection list is used, it cannot be
empty.