Chapter 3 Event Monitoring
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
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:
1A simple fieldname, such as a, b, or c.
2A 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.
3A 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.