Phone integration service
Glossary Item Box
Creatio users can integrate their application with multiple telephone exchanges (telephone switches, private branch exchanges, PBX) to manage phone calls directly from the Creatio interface. Telephony integration functionality is available via the CTI-panel (Computer Telephony Integration) as well as in the [Calls] section.
Introduction
The CTI-panel provides the following features:
- Displaying information about incoming calls and searching contact/account by phone number.
- One-click calls using the Creatio interface.
- Call management in Creatio (answer, place on hold, resume, end, transfer).
- Displaying the call history to enable convenient management of call connections management, redials, and call-backs.
All calls completed or accepted using phone integration are saved in the [Calls] section. Use it to view the timing detail of the calls (start time, end time, duration), and the connected Creatio objects. Use the section tools to view detailed information about each call, as well as to build charts and generate analytical reports.
Phone integration service workflow
Depending on the specific PBX and the specifications of the available API (Application Program Interface), different architectural mechanisms (described below) are used. Additionally, the chosen API can affect the set of available features. For instance, not every PBX offers the playback function for recorded calls, and Webitel is currently the only phone integration service that enables the Webphone feature. However, regardless of the chosen integration mechanism, the interface of the CTI-panel is the same for all users.
Integration methods can be divided into two groups: first-party and third-party integrations.
In the case of first-party integration, each user has a dedicated link to the PBX server. The link processes all PBX events of the user. This integration method applies to first-party telephony API, for example, the Webitel, Oktell, and Finesse connectors. Webitel and Oktell use WebSocket as the connection protocol. Finesse uses long-polling HTTP queries instead.
The advantage of the first-party integration is that it does not require additional nodes, such as Messaging Service. The CTI-panel in the user browser connects directly to the API of the telephony server using the integration library (Fig. 1).
Fig. 1. The workflow of integrating a first-party telephony API using a client-side JavaScript adapter
Third-party integrations feature a single connection to the PBX server. The server processes the PBX event for all integration users. In the case of third-party integration, the Messaging Service distributes data streams of multiple users.
All telephony events pass through the service when integrating with Terrasoft Messaging Service (TMS) on the server-side (Fig. 2). The service interacts with the PBX using the library by the manufacturer of the PBX. The library interacts with the PBX through the API. The TMS also interacts with the Creatio application server via the HTTP(S) protocol when requesting to store information about the call in the database. The client-side application interacts (sends events and accepts executable commands) with the server via WebSocket. As with the integration using a client-side JavaScript adapter, Creatio pages interact with the application server to authenticate using the HTTP(S) protocol.
Fig. 2. The workflow of a third-party telephony API integration with TMS on the server-side
This integration method can be applied to third-party telephony APIs (TAPI, TSAPI, New Infinity protocol, WebSocket Oktell). The integration method requires Messaging Service – a Windows proxy service that interfaces with the exchange adapter library. Messaging Service is a universal host for PBX integration libraries, such as Asterisk, Avaya, Callway, Ctios, Infinity, Infra, and Tapi. Upon receiving a client connection, this service will automatically connect the library that Creatio uses and initiate a connection to the PBX. The Messaging Service is a functional wrapper that enables the telephony functionality in the browser (event generation and processing, data transfer) for phone connectors lacking client integration support. The user computer communicates using two methods:
- Via the HTTP protocol by authenticating to the Creatio application server and accessing the host server running Messaging Services.
- Via WebSocket to work with the telephony functionality directly (Fig. 2)
Phone integration service compatibility with Creatio products
The phone integration service is compatible with all Creatio products.
Phone integration service deployment options
Creatio integrates with the Webitel phone integration service. Creatio users can make internal calls just using the headset without any additional software installation. To use other phone integration services in Creatio, additional settings are needed.
Phone integration works in browsers that support WebRTC. The telephony integration service works in the following browsers:
- Google Chrome, the latest official version on the Creatio release date.
- Mozilla Firefox, the latest official version on the Creatio release date.
- Microsoft Internet Explorer 11 and up.
- Microsoft Edge.
- Apple Safari, the last official version on the Creatio release date
The users of Creatio applications deployed in the cloud can call each other by default without using third-party programs.
See Also