TCC

Introduction

TCC is a telephone exchange for a call center. TCC makes it possible to efficiently handle large numbers of incoming and outgoing calls. At TVcN (now Global Talk), TCC handles between 3,000 and 6,000 calls per day.

In addition to call centre functions, TCC has extensive integration with TAS.

History

Before TCC existed, TVcN (now Global Talk) had a Philips SOPHO iS3000 telephone exchange with an external PC that added call centre functionality. The iS3000 was specially adapted and optimised by TVcN for telephone services.

The supplier of the iS3000 announced in 2011 that it would not renew the support contract. TVcN therefore had to look for a new telephone exchange. In 2011, it was already clear that ISDN would disappear in favour of SIP. An ISDN telephone exchange consists of specific hardware, while for SIP you need a standard computer. This caused problems for all major telephone exchange suppliers. But there was also no supplier who could supply a large SIP-based call centre telephone exchange.

There were, however, several open-source projects for creating a software telephone exchange for SIP. Asterisk was the largest at the time. You had to develop the functionalities of the call centre yourself. Since I had experience with this and we did not have a realistic alternative, we agreed to develop a call centre ourselves based on Asterisk. An additional advantage was that we could achieve better integration with TAS.

In 2013, we also added video via vidyo to TCC. I myself would have preferred to use open standard WebRTC, but under the influence of Manpower USA we had to use vidyo. Video with vidyo has never been a success for TVcN, which is why we removed it from TCC in 2019.

Components

TCC.Server

TCC.Server is the nerve centre of TCC and maintains continuous connection with TCC.Clients, TCC.Devices and the Asterisk servers. All higher functions run through TCC.Server.

Functions TCC.Server:

  • Skills-based routing for routing incoming calls to the best agent
  • Answering and dialling out calls
  • Automatic calling of interpreters and transferring telephone interpretation services (see TAS)
  • Set up an ad hoc interpreting service via special temporary telephone numbers without the intervention of agents
  • Automatic and manual breaking into an ongoing telephone interpreting service
  • Web-based user interface
  • Login and maintain agent status
  • Registration of agent and call statistics
  • Real-time link with Verint’s Agent planning system

TCC.Client

TCC.Client has a common call centre user interface consisting of an always visible taskbar at the top of the screen. Via this toolbar an agent can, among other things, take calls, make a call, join a group and adjust his availability. Information about the active call and the number of waiting calls is also displayed.

In addition, a web browser based on chromium has been integrated into TCC.Client. The user interface of TAS runs in this web browser. To agents, TCC and TAS appear to be one entity, which increases efficiency.

When an agent needs to call a customer, he or she opens the call registration screen of TAS, locates the customer and presses the call button. Without the agent having to do anything, TCC.Device becomes active. Then an Asterisk server calls TCC.Device to set up a voice channel with the agent. The system then calls the customer.

TCC.Client on the front office is usually set to auto-answer. This means that incoming calls are automatically answered. The call record screen of TAS opens automatically. As an additional warning, the agent will receive three beeps with additional information before being transferred to the customer. Often the customer has already been identified by the system on the basis of the telephone number or the customer code. From the call log screen, the agent can immediately perform the necessary actions without opening additional screens or typing information about it.

TCC.Device

TCC.Device is a simple minimal soft-phone that provides the sound or video connection with an agent. TCC.Server opens and closes the window automatically. However, it is possible to adjust the volumes and send DTMFs.

Accepting a call or calling out is done via TCC.Client.

TCC.Device uses pjsip stack for sip and Vidyo SDK for video.

Media Servers

Asterisk servers

Asterisk servers are used for telephony by connecting them to the public telephone network via SIP trunks. From Asterisk, we only use the core functionalities such as setting up and linking calls, playing voice files and IVR. All higher functionalities are realised by TCC.Server.

The Asterisk servers also serve as Session Border Controller.

Vidyo 3.0 (legacy)

Vidyo 3.0 is a proprietary video conferencing solution from Vidyo with proprietary software, libraries and protocols. Since vidyo cannot be controlled centrally, the control is done indirectly via TCC.Device.

Architecture

Component Architecture
TCC.Server NT Service written in C#.
Link with SQL Server for storage configuration and logging.
TCC.Client Windows application written in C#.
Integrated Chromium (CefSharp) browser.
TCC.Device Windows application written in C++.
PJSIP stack for SIP softphone.
Vidyo video calling client.

The TCC configuration consists of one Central TCC.Server on each workstation, TCC.Client, TCC.Device and two Asterisk servers. The current configuration can easily cope with the requirements set.

Production

period true
2011 - present Global Talk/TVcN
2014-2019 Three Manpower Nederland call centers (via TVcN infrastructure).

Technologies

C#, SQL Server 2016, Transact-SQL, Typed-TSQL, Vidyo, Asterisk, SIP

My function

Developed by myself in its entirety. From functional design to software development.