Bookshelf Home | Contents | Index | Search | PDF |
Siebel Communications Server Administration Guide > Developing a Communications Driver > Siebel Adaptive Communications API Reference >
Methods of ISC_CLIENT_HANDLE
The client handle, ISC_CLIENT_HANDLE, is implemented by Siebel Systems. The communications driver calls client handle methods in order to communicate with the Siebel application, such as to send communications events and associated data.
When a call to a client handle method is successful, it returns 0 (zero). ISC_RESULT represents the API result type defined for the Siebel Adaptive Communications API.
BeginBatch
Begins a set of client methods to be invoked in a batch when the corresponding EndBatch method is invoked. Using these methods can reduce network overhead. Developers can use these methods at their discretion, subject to the driver implementation design. See also EndBatch.
ISC_RESULT (*BeginBatch)
/* in */(ISC_CLIENT_HANDLE handle);CacheCommandInformation
Notify the Siebel client about command-status caching.
For the ith command in commandNames, the command description is at the ith position in commandDescriptions, and the command status is at the ith position in commandStatuses. The SCCommandFlags bit flags are used by commandStatuses.
ISC_RESULT (*CacheCommandInformation)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const struct ISC_StrParamList* commandNames,
/* in */ const struct ISC_StrParamList* commandDescriptions,
/* in */ const struct ISC_LongParamList* commandStatuses);CleanAllWorkItem
Notifies the Siebel client that all work items for this service session have been removed.
ISC_RESULT (*CleanAllWorkItem)
/* in */(ISC_CLIENT_HANDLE handle);EndBatch
Ends a set of client methods to be invoked in a batch when this method is invoked, given the use of the corresponding BeginBatch method to begin the batch. See also BeginBatch.
ISC_RESULT (*BeginBatch)
/* in */(ISC_CLIENT_HANDLE handle);HandleError
Handle asynchronous errors:
- If clntCmdTrackID is not 0 (zero), then it contains the same value that was passed to the service handle method InvokeCommand that caused the error.
- If clntCmdTrackID is set to 0 (zero), the error occurred out of context or the error was associated with a failed call attempt—with which no call ID data is associated.
ISC_RESULT (*HandleError)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING clntCmdTrackID,
/* in */ const ISC_STRING error);HandleEvent
Handle the named event received from the communications driver, using the given fields. By calling this method, the communications driver notifies the Siebel client of a communications event, such as a call coming in on the monitored teleset.
If notifyWhenDone is set to TRUE, then the communications driver is notified when event handling is finished. The event's ID is passed (using the trackingID parameter) in a call to the service handle method NotifyEventHandlingFinished. See NotifyEventHandlingFinished.
ISC_RESULT (*HandleEvent)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING name,
/* in */ const struct ISC_KVParamList* fields,
/* in */ ISC_BOOLEAN notifyWhenDone,
/* in */ const ISC_STRING trackingID);IndicateNewWorkItem
Indicate a new incoming call by bringing the Siebel application to the front. If the end user has set the Enable Sound option in the User Preferences screen (Communications tab), the ringin.au or other user-specified sound file will play.
ISC_RESULT (*IndicateNewWorkItem)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING trackingID,
/* in */ const ISC_STRING oldTrackingID,
/* in */ const ISC_STRING description,
/* in */ enum SCWorkItemMode workItemMode);ShowStatusText
Display textual status information in the status line of the Siebel client.
ISC_RESULT (*ShowStatusText)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING text);UpdateObjectInformation
Notify the Siebel application about status changes of communications objects—for example, that an agent has become busy. Notifications about DN status will be used to keep track of when calls end and new calls start. For the object properties that can be provided using datasetInfo, see SCObjectProperty.
ISC_RESULT (*UpdateObjectInformation)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING trackingID,
/* in */ const ISC_STRING mediaTargetAddr,
/* in */ const struct ISC_KVParamList* datasetInfo);WorkItemReleased
After a work item has been released, such as a phone call disconnected, the driver calls this function.
ISC_RESULT (*WorkItemReleased)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING trackingID,
/* in */ time_t stopTime);WorkItemResumed
After a work item has been resumed, such as a phone call resumed from hold at the switch, the driver calls this function.
ISC_RESULT (*WorkItemResumed)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING trackingID);WorkItemStarted
After a work item has been started, such as a phone call connected, the driver calls this function.
ISC_RESULT (*WorkItemStarted)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING trackingID,
/* in */ const ISC_STRING oldTrackingID,
/* in */ const ISC_STRING description,
/* in */ const ISC_STRING mediaTargetAddr,
/* in */ time_t startTime);WorkItemSuspended
After a work item has been suspended, such as a phone call put on hold at the switch, the driver calls this function.
ISC_RESULT (*WorkItemSuspended)
/* in */(ISC_CLIENT_HANDLE handle,
/* in */ const ISC_STRING trackingID);
Bookshelf Home | Contents | Index | Search | PDF |
Siebel Communications Server Administration Guide Published: 23 June 2003 |