xtelsio CTI Client in use with
ODBC data sources

Via the ODBC interface of Windows you have access to databases, such as Access, MySQL, Microsoft SQL Server, DBase or Excel spreadsheets. This means that all supported data sources can be integrated as a phonebook folder in the CTI Client.


General information about ODBC data sources


  • The Windows ODBC manager administers so-called DSNs (Data Source Names) which represent a data source (e.g., an Access database). A DSN contains all information which is needed for opening a data source, as for example: File path to database, username, password and other special data source parameters. Detailed information about the "ODBC-Manager" can be found here ...
     
  • Databases typically have an ID column for referencing the records. Linked data sources should contain the Record-ID in the first column. If no record ID is available, the CTI Client references the records by the name columns. Please note that when referring by name columns and subsequently changing the corresponding field contents outside the CTI Client, the unique assignment of the data records may be lost. In this case, an error message is displayed when accessing a corresponding record. The phone book "Update" is used to restore the assignment of the data records. See also: Cache, update ...
     
  • ODBC data sources can usually be read and written. Exceptions are Excel tables that only allow read access.
     
  • Tips to manage shared address data.

Integrate ODBC data source as a phonebook folder (using the example of Access)

The procedure described here for integrating an Access database as a phonebook folder also applies to other ODBC data sources such as MySQL, Microsoft SQL Server, DBase or Excel spreadsheets.

If you do not yet have an Access database, you can use the example database "contacts.mdb" and adapt it to your needs. This database can be found in the working directory in the folder "\test-db-access\contacts.mdb".

To link an Access table:
  1. [PhoneBook > New > New Folder-Linking... > Outlook, ODBC, Textfiles...]
  2. Choose the entry [ODBC] in the dialog "Type of Data Source".
  3. In the dialog "Name and Content" you can change the suggested folder name and contents type if necessary. 
  4. With [Next] the dialog "Select Data Source" from the Windows ODBC manager appears. Here you are able to either:
    • to select an existing Data Source Name (DSN) to your Access database (if you have created this before),
    • or to create a new DSN to your Access database with [Add...] and open it afterwards with OK.
  5. In the dialog "Select Table from ODBC Data Source" now all tables of the Access database are listed. Mark the desired table and hit [Next].
    • Alternatively, an "SQL query" can also be entered manually. In this case, the data is included as "read-only". Positive side effect: An SQL query can also be used to bind data fields larger than 1024 characters. However, a maximum of 1024 characters are read.
  6. In the dialog "Column Selection" you can vote out not required columns. Hint: The first column should always contain the record ID (auto ID field of Access).
    • Columns with unknown format or with a data size of more than 1024 characters are not selectable (gray/disabled).
  7. In dialog "Column Properties" the columns have to be typecast by their contents.
  8. In dialog "Cache" you should keep the defaults and close the dialog sequence with [Finish].
  9. => the Access table is now visible in the folder structure.

If you want to link several Access tables in the CTI Client, you have to repeat the procedure accordingly.

Linking an SQL-Query:

The integration of an SQL query is carried out in the same way as for an ODBC table (see above). In step 5 "SQL query" is to be selected.
For more information:

  • A WHERE clause is added to query a single data record. For example ".... WHERE ID=2345".
  • If the SQL query already contains one or more WHERE clauses, the last WHERE clause is modified. Example: "WHERE TeamID=17" => "WHERE (ID=2345) AND TeamID=17"
  • Tip: If necessary, you can insert a dummy WHERE clause at the end of the SQL query so that it is adapted and not the preceding WHERE clauses of a more complex query.
    Example: "WHERE ID>0" => "WHERE (ID=2345) AND ID>0"
    • The tip also applies to SQL queries that contain a "GROUP BY" or "ORDER BY" at the end. If necessary, insert a dummy WHERE clause beforehand.
      Example: "WHERE ID>0 ORDER BY ID" => "WHERE (ID=2345) AND ID>0 ORDER BY ID"
Later modifications of the folder settings:
  • Right-click the folder and choose [Properties (folder)].
Adapt data mask individually:
  • Select a record in the linked ODBC folder and open the accompanying data mask by F2 key or context menu.
  • You can use the tool button to switch the input mask to editor mode and arrange the fields according to your own requirements. More infos...
Refresh view of changed records (synchronisation):

If records have been modified, added or deleted in ODBC, these changes are not visible immediately in xtelsio CTI Client, because of data cache. To make changes visible, the following synchronisation modes are supported:

  • manual synchronisation of the complete folder: Mark in the folder and press the functional key F5. Then all changed records are read in anew. If you press F5 within 5 seconds again, the folder is completely read in anew.
     
  • manual synchronisation of a record: If you stand in the folder structure on a record and hit the F5 key, this record is read in anew. A record is likewise read in anew if it's opened in the data form.
     
  • Automatic synchronisation of the complete folder: By default, linked folders are synchronised once per week. The synchronisation interval can be adapted individually via [Folder > Properties > Cache].

Show incoming calls

Incoming calls are indicated via phone popup window.

  • A click on the button opens the contact data mask of xtelsio CTI Client.

  • The data mask can be opened with a an incoming phone call also automatically - see folder option: [Context menu of the folder > Properties (folder) > Properties]

Dial from a database GUI

If the corresponding database has its own user interface (database client), you can also dial numbers directly from it:

If the database client supports the execution of self-defined actions, macros or scripts, it may also be possible to dial a phone number via the command line "cti_client.exe /dial PHONENUMBER" or via URL link:


Call control via ActiveX-Control

The Professional version of the CTI Client installs an ActiveX control for call control in the Windows system.
Database clients and other applications that support the integration of ActiveX controls, such as Access, can use the following functions:

  • processing of the incoming and outgoing call events with caller ID, name and other parametres,
  • the dial of phone numbers
  • terminating calls.

Further notes on using the ActiveX Control can be found here ...