Siebel CTI Administration Guide > Developing a Communications Driver > Adaptive Communications Design >

Initialization of Communications Drivers


Driver initialization might involve initializing two handles for each communications driver implementation: ISC_DRIVER_HANDLE (the driver handle) and ISC_SERVICE_HANDLE (the service handle).

For drivers loaded on a Siebel Server computer, the driver handle is typically initialized only once, rather than once for each agent session. This depends on your driver implementation.

The driver handle and service handle can be implemented in any appropriate language, but must be implemented together using the same language.

Loading Communications Drivers

The process of loading a communications driver is as follows:

  1. The channel manager invokes the driver handle method APIVersion, to check the driver's API version. The API version defined in the driver's header file must match the API version for Communications Server. For more information, see APIVersion.
  2. The channel manager invokes the driver handle method CreateISCDriverInstance, to create the driver instance. The channel string passed to this method is collected from the driver record that is created in the Communications Drivers and Profiles view, in the Administration - Communications screen. For more information, see CreateISCDriverInstance.
  3. The channel manager invokes the driver handle method RequestCommandEventList, to retrieve the list of events and commands this driver supports. For more information, see RequestCommandEventList.
  4. The channel manager invokes the driver handle method RequestService, to create a service object. For more information, see RequestService.

If any listed step fails, then the driver loading fails. If multiple driver profiles must be loaded, then the process is repeated for each profile.

ISC_DRIVER_HANDLE

During initialization of an interactive communications driver, the CreateISCDriverInstance method is called to create the driver handle.

This method uses driver and profile parameter data (parameters prefaced with Driver: or parameters without a prefacing keyword) from the communications configuration, specified in the Communications Drivers and Profiles view.

For more information about the CreateISCDriverInstance method, see CreateISCDriverInstance.

ISC_SERVICE_HANDLE

After the driver handle has been created, the driver handle method RequestService is invoked, to request the driver handle to provide a service. Driver parameters (parameters prefaced with Service: or parameters without a prefacing keyword) are passed, which were specified in the Communications Drivers and Profiles view.

In response to this request, the driver handle returns the service handle (ISC_SERVICE_HANDLE), one instance for each agent. Calling methods of the service handle makes the feature set of the communications system available.

The driver handle and service handle together make up the implementation of the communications driver, along with other program data and logic.

Your implementation of the service handle invokes methods of the client handle, ISC_CLIENT_HANDLE. The client handle is implemented by Oracle.

For more information about the RequestService method, see RequestService.

Siebel CTI Administration Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.