CM.Phone: CTI with ConSol CM

Introduction to CM.Phone

CM.Phone is a distinct ConSol CM module which has to be licensed in addition to the core ConSol CM system. For license information, please see section License Management, REST.

CM.Phone is a Windows client application for the integration of telephony systems using the TAPI 3 protocol. TAPI is part of any Windows operating system and provides generic telephony functions. The CM.Phone client has to be installed on each Windows client which should use the CTI (Computer Telephony Integration) functionality with ConSol CM.

Figure 607: ConSol CM.Phone - Basic principle

Incoming Calls

The CM.Phone client monitors the telephone handset (i.e., the selected TAPI device, address or line) for incoming calls. When an incoming call has been registered, a pop-up window is displayed with the phone number of the caller. The ConSol CM customer database is searched for matches for this customer. If one or more matches have been found, a customer list is offered for selection. Engineers can then decide if they want to create a ticket for the customer or if they want to have the customer page displayed. If no corresponding customer data matches the phone number, just the calling number is displayed and the option Create customer is offered.

Please note that a user can only see the customer data in the CM.Phone pop-up window which is allowed by the user’s permissions. Others will be filtered out and will thus not be visible.

The pop-up window is based on HTML template files which are located in the CM.Phone folder on the ConSol CM server. These templates are loaded by the CM.Phone client application during startup. The information displayed in the pop-up window (Data Object Group Fields from the customer data model) can be customized by editing the template files (see ConSol CM Set-Up Manual).

The following options can be selected in the pop-up window if exactly one customer matches in the CM database:

In case the customer is not yet present in the ConSol CM system, the caller’s phone number will be used to fill in the phone number field in the customer data (Data Object Group Fields) annotated as dialable. This will be done for new customers and newly created tickets. Should multiple fields be annotated as dialable, the first one will be pre-filled. If the user has access to multiple customer groups, the respective dialable phone number fields of each customer group will be pre-filled.

Outgoing Calls

The engineer can start an outgoing call directly by clicking on a phone number (e.g., in the customer data) in a Data Object Group Field which has been annotated as dialable. The CM.Phone application is started automatically by the browser and the phone number is passed to the telephone system as a command line parameter. The CM.Phone application creates an outgoing call via TAPI and quits immediately.

CM.Phone Set-Up

Please refer to the ConSol CM Set-Up Manual for a detailed explanation about how to install CM.Phone on the CM server and clients. Here, only the CM.Phone configuration in the Admin Tool will be described.

Configuration of CM.Phone in the Admin Tool

In the Admin Tool you have to perform the following steps to configure CM.Phone:

Set Annotations for Data Object Group Fields Containing Phone Numbers

Figure 608: ConSol CM Admin Tool - Annotations for Data Object Group Fields with phone numbers

Figure 609: ConSol CM Web Client - Dialable number when using CM.Phone

Two annotations are required for Data Object Group Fields which contain phone numbers:

Configure the Admin Tool Templates for Customer Data for Each Customer Group (Used for Incoming Calls)

The customer data model configuration includes two CM.Phone-specific types of templates:

They are used for defining how CM.Phone should render incoming call information. The first one is used for exactly one data object matching the phone number and the second one is used for multiple matches, so that the engineer may select the desired customer.

You have to perform two steps:

  1. Write the templates and store them in the Scripts and Templates section of the Admin Tool.
  2. Assign the templates to customer data models (navigation group Customers, navigation item Data Models).

Figure 610: ConSol CM Admin Tool - Example template for rendering customer data for display in CM.Phone

Figure 611: ConSol CM Admin Tool - Assignment of CM.Phone templates for customer data to customer groups

Configure the Phone Number Format for Each Customer Group (for Incoming and Outgoing Calls)

The format defined here is used to transform phone numbers (from the respective customer group) to a common canonical form. The engineer can enter a phone number in any format with or without prefixes, e.g., as company internal number. To avoid problems with interpreting such numbers there is a dedicated configuration per customer group which is used when a user submits a phone number for a particular data object. The patterns/elements of the different formats which can be interpreted as a phone number in the fields marked as dialable can be defined in detail in the Admin Tool.

The navigation item Customer Groups in navigation group Customers has to be selected after logging in to the Admin Tool for this configuration. On the navigation item Customer groups, the desired customer group has to be selected for editing. After clicking the Edit button below the list of customer groups, the edit dialog opens, containing a new tab titled CMPhone.

On the CMPhone tab of the Edit customer group dialog there are fields in which you can enter phone number prefixes for different scopes and number patterns for several phone number types.

The fields for configuration values are:

For example, for all numbers (12, 33990312, 21133990312) from above points the result should be always the full canonical number: 4921133990312. For mobile numbers, a country prefix will also be added, so the result will be: 49600289906. If the engineer enters a full number starting with "+" or "0" then the configuration is skipped - ConSol CM assumes no number conversion is required.

Figure 612: ConSol CM Admin Tool - Configuration of phone number formats for a customer group

These prefix values are defaults for extending phone numbers which are not fully qualified. They can always be overridden by entering a fully qualified phone number.

Figure 613: CM.Phone - Use of customer group-specific number configuration for dialable numbers (outgoing calls)

The patterns are used to guess the type of a phone number which is not fully qualified. The guessed type determines its use and necessary additions for connecting a call. For this purpose, after removing unnecessary characters, a number is checked to determine whether it is already fully qualified. If not, it is matched against these patterns. For exactly one match, a valid number is constructed and used. If two matches are area code and mobile number, these are combined with the country prefix to create the number to be dialed. In all other cases the supplied original number cannot be used for making a connection.

Set the System Properties

There are three new properties in ConSol CM, to be set in the Admin Tool, which are relevant for CM.Phone. The correct configuration for these is essential for proper usage of phone numbers for connection calls. The properties are elements of the module cmas-core-server:

These properties are all optional, so they have to be added manually, if needed.

Change the Prefix for Outgoing Calls

This step is optional!

Usually the prefix phone: is set before the number for outgoing calls for interaction with the TAPI. If another prefix (e.g., tel:) is required, this can be configured in the Windows Registry. Please ask your ConSol CM consultant for advice.