Interaction Designer Help
Introduction to Handlers
Handlers are the programs that define the interaction processing functionality of the CIC system. A handler is a group of actions (steps) that start when an event occurs on the CIC system. For example, the IVR (Interactive Voice Response) system that callers interact with is a handler. Handlers record and send voice mail. Almost every call processing action that occurs on the CIC server is the result of a handler. Handlers also define the functionality of Internet chat requests, HTML document generation, ACD (Automated Communication Distribution), and more.
What is an event?
Events are the things that happen to objects. Every time one of the modules in CIC does something to an object, it generates an event. For example, when Telephony Services receives an incoming call, it creates a new call object with a unique Object ID. Telephony Services then generates an event called Incoming Call. Events can even be generated by hardware or software that are not part of the CIC system (for example, a security card reader or a computer that monitors a piece of equipment).
Events serve two purposes in CIC. First, an event can tell Interaction Processor to start an instance of a handler designed to respond to that event. When Telephony Services generates an Incoming Call event, the Notifier tells Interaction Processor that the event has occurred. Interaction Processor starts an instance of any handlers configured to run when the Incoming Call event occurs. Second, an event can carry information about the event. For example, an event generated by an incoming call carries information about that call, such as the caller ID and the name of the line on which that the call is coming in. The information contained in the event can be used by the handler to make decisions about what to do with the object.
How does an event start a handler?
Each event is of a unique type, such as incoming call or chat session request. Each handler has an initiator that watches for an event of a unique type to occur on an object of a unique type. An initiator can even be configured to start only for objects with a specific Object ID. (If you view the properties of an initiator, you'll see that one of the parameters is the type of event that will start the handler, one is the object type, and one is the Object ID.) When an event is generated, Interaction Processor starts any handler whose initiator is configured to start when that event occurs.
How do handlers work?
Like a program, handlers perform a series of actions. Handlers look like flow charts (see the following figure), and each action in the handler is graphically represented by a step. These steps are performed in an order determined by how the steps are linked together . Different steps perform different actions, and the combination of actions determine what happens when the handler runs. Some steps start other handlers, called subroutines.
Interaction Designer provides all the basic programming controls for you to build your handlers. Using steps, you can assign variables, build conditions, test conditions, create selection statements, assign variable types, and perform other useful actions.
For a description of the purpose and properties of each step, select that step and click F1.
Choose one of the topics below for instructions on how to work with handlers: