CTI interface
CTI Modul
Module description
This module contains structures and operations for CTI (remote call control) on TAPI or Bluetooth phone lines in the server.
A client program has access to all lines owned by the logged in user and to additional lines it has dedicated access.
It is possible to monitor all actions on these lines and to call operations to initiate new calls, set forwards, change states and so on.
Prerequisites
In order to use the operations described in this document you have to make sure:
Additional prerequisites for a operation on the PBX and or the TAPI driver may be necessary.
Description of the Line-Call-Model
The remote call control and monitoring of the server is based on a line-call-model. This means, that users, lines and calls are organized in a tree like hierarchy.
Each node in this tree contains configuration data and dynamic data, which can be accessed and observed.
The Nodes are:
Remarks
Some operations return an empty result object if they are executed successfully. So in this cases, the business logic should wait for result/error before do additional actions.
Phone numbers are normally used and provided in a so called supercanonic notation containing a full qualified number including country, city, main and extension number: +49815136856177
For operations affecting multiple calls be sure to check that all calls affected have the corresponding feature set. To merge two calls both calls have to have the feature eCFEATUREMERGECALLS set.
Example: Monitoring lines
Example: Call data transfer
Phone number formats
The whole system tries to use supercanonic numbers (+country city main and extension number / +49815136856177) whereever possible.
As long as the number is used in supercanonic notation all components can format the number as required (for dialing, for display, etc.)
You likely won´t need to format numbers as the system always provides supercanonic numbers.
Name | Description |
---|---|
asnCtiEnumPhoneLines |
Retrieve line information from the server. |
asnCtiSnapshotPhoneLine |
Call this function to get the current status of a line. |
asnCtiLineMonitorStart |
Gets the current state of a line and attach for call and change notifies on this line. |
asnCtiLineMonitorStop |
Stops the call and state change events on a line. |
asnCtiLineSetDoNotDisturb |
Set or remove "Do not Disturb" feature on the a line. |
asnCtiLineSetRemoteOffice |
Changes the state of the "Remote Office" feature on a line. |
asnCtiMakeCall |
Initiates a new call on a line. |
asnCtiDropCall |
Drop a call identified by its connection identifier. |
asnCtiLineDropCall |
Drop the cative call on a line. |
asnCtiAnswerCall |
Accept a call on a line. |
asnCtiRedirectCall |
Redirect an incoming call to another line. |
asnCtiPickupCall |
Pickup a ringing call from another line on an own line. |
asnCtiStartCallRecording |
Start recording of a call. |
asnCtiStopCallRecording |
Stop recording of a call. |
asnCtiSetCallData |
Add some data to the call which will be transferred to other clients. |
asnCtiMergeCalls |
Merge two calls on a line together. |
asnCtiSwapHold |
Swap puts the active call on hold and retrieves the hold call |
asnCtiHold |
Set the call on hold, so another another call in the same line will be possible to make. |
asnCtiSetForward |
Set simple call forwards. |
asnCtiRemoveForward |
Remove a forward from a line. |
asnCtiDialDigits |
Dial DTMF tones on an active call. |
asnCtiCompleteCall |
Set a automatic call back if the call was not accepted or busy. |
asnCtiConference |
Initiate a conference call with two already existing calls of a line. |
Name | Description |
---|---|
asnCtiNotifyLineInfoChanged |
Event from the server if a line changed its status or has been added or removed. |
asnCtiNotifyLineDoNotDisturbChanged |
Event from the server if a line changed its DnD status. |
asnCtiNotifyLineRemoteOfficeChanged |
Event from the server if a line changed its remote office state. |
asnCtiNotifyMonitorStopped |
Event from the server that a monitoring point was closed due to a configuration change |
asnCtiNotifyLineSortOrderChanged |
Event from the server that a monitoring point has changed position from the configurative view |
asnCtiNotifyLineForwardingChanged |
Event from the server if a line changed its forwardings. |
asnCtiNotifyLineCallInformationChanged |
Event from the server if a call changed its state. |
asnCtiNotifyLineAddRemove |
Event from the server if asnCtiEnumPhoneLines was called to monitor the lines of the user. |
asnCtiNotifyMakeCallResult |
Event from the server with the result of an asynchronous make call operation on the server. |
asnCtiNotifyConferenceCreated |
Event from the server if there is a conference established on a line. |
asnCtiNotifyConferenceDestroyed |
Event from the server if a conference is closed/destroyed. |
asnCtiNotifyConferencePartyAdded |
Event from the server when a new participant was added to a conference. |
asnCtiNotifyConferencePartyRemoved |
Event from the server when a conference participant was removed. |
asnCtiNotifyLineCallFeaturesChanged |
Event from the server when call features have changed. |
asnCtiNotifyLineProjectSettingsChanged |
Event from the server when the project settings or the location of a line has changed. |
Version 6.4