In any application, TSM scripts control how a call is handled. Decisions and actions such as answering the phone or collecting touch-tone digits are specified using a IVR Designer application or the TAS assembly-like language. However, TSM scripts alone cannot handle a significant number of applications that need to access external data from files or a database or perform complex numerical calculations. A DIP provides these capabilities. In fact, DIPs provide all the resources of C-language programs and the operating system to scripts.
A process is a program that is currently running in the system. TSM, logger, alerter, and DIPs are examples of processes. The following illustration shows typical interaction between a DIP and other processes in the voice system software.
Generally, a DIP interacts with the following processes:
DIPs are usually message driven, meaning they wait until a message arrives before taking any action. Once a request is received from a TSM script, for example, the DIP processes the message and returns the results to the corresponding TSM script.
The overlapping circles in the figure above indicate that a DIP can have multiple copies of itself running and reading from the same message queue to allow for faster servicing of requests.