Methods of ISC_DRIVER_HANDLE

The driver handle, ISC_DRIVER_HANDLE, is implemented in the communications driver. Driver handle methods are invoked to request the driver to create a service handle, among other things. The service handle represents the functionality of the communications system with which you are integrating.

When a call to a driver handle method is successful, it returns 0 (zero). ISC_RESULT represents the API result type defined for the Siebel Adaptive Communications API.

APIVersion

Request the driver to return the API version (Siebel Communications API, or SCAPI) for which the driver is implemented. The driver should return the SCAPI_VERSION defined in the header file.

ISCAPI long APIVersion();

CreateISCDriverInstance

Request the driver to create the driver handle ISC_DRIVER_HANDLE, and to perform other initialization tasks, such as to connect to the CTI middleware.

FreeSCStrParamList

NOTE: Each driver must implement this function, in order to free its own memory. If this function is not implemented, the driver will not be loaded.

GetImplementationObject

Return a data structure for an implementation object, such as may be part of a communications driver implementation. This function may be useful for extending the functionality of an existing driver.

If your communications driver implementation aggregates another communications driver, such that you have an additional object that mediates communication with the driver handle and service handle, this method can return implementation objects such as the driver handle, service handle, or some other structure.

An aggregate communications driver implementation typically includes a Siebel-provided driver, such as the Siebel CTI Connect driver, and a separate driver called the aggregate communications driver that extends the main driver's functionality or replaces part of its functionality.

If you write an aggregate communications driver, it may be useful to invoke the aggregate driver for certain functions. The aggregate communications driver intercepts certain commands for its special operation and passes other commands on to the existing communications driver.

The aggregate driver must be added to the Communications Drivers and Profiles view, so that the driver can be properly initialized and used.

Writing an aggregate communications driver to work with an existing communications driver can save much time compared with writing a driver from scratch.

RequestMediaTypeList

RequestService

Request the driver to create the service handle ISC_SERVICE_HANDLE, and pass the service type (such as teleset monitoring), user-defined parameters, and the pointer to the Siebel client handle. The driver handle creates the service handle, which in turn communicates with the Siebel application for each agent:

For Siebel-provided communications drivers, all parameter data is passed to the communications driver in the datasetParams parameter.

For a customer-implemented communications driver, additional data can be passed to the service handle using the paramString variable.