TCC

Introductie

TCC is een telefooncentrale voor een callcenter. TCC maakt het mogelijk grote aantallen in- en uitgaande gesprekken efficiënt af te handelen. Bij TVcN (nu Global Talk) handelt TCC tussen de 3000 en 6000 gesprekken per dag af.

Naast callcenter-functies heeft TCC verregaande integratie met TAS.

Geschiedenis

Voordat TCC er was, had TVcN (nu Global Talk) een Philips SOPHO iS3000 telefooncentrale met een externe pc die callcenterfunctionaliteiten toevoegde. De iS3000 was door TVcN speciaal aangepast en geoptimaliseerd voor de telefonische dienstverlening.

De leverancier van de iS3000 kondigde in 2011 aan het supportcontract niet te verlengen. TVcN moest dus op zoek naar een nieuwe telefooncentrale. In 2011 was het al duidelijk dat ISDN zou verdwijnen ten gunste van SIP. Een ISDN-telefooncentrale bestaat uit specifieke hardware, terwijl je voor SIP een standaard computer nodig hebt. Hierdoor kwamen alle grote telefooncentrale-leveranciers in de problemen. Maar er was ook nog geen leverancier die een grote, op SIP gebaseerde, callcenter-telefooncentrale kon leveren.

Wel waren er verschillende open-source-projecten om een software telefooncentrale voor SIP te maken. Asterisk was op dat moment de grootste. Je moest dan wel zelf de functionaliteiten van het callcenter ontwikkelen. Aangezien ik hier ervaring mee had en we geen reëel alternatief hadden, kregen we akkoord om op basis van Asterisk zelf een callcenter te ontwikkelen. Een bijkomend voordeel was dat we een betere integratie met TAS konden realiseren.

In 2013 voegden we ook video via vidyo aan TCC toe. Zelf had ik liever gebruik gemaakt van open standaard WebRTC, maar onder invloed van Manpower USA moesten we vidyo gebruiken. Video met vidyo is voor TVcN nooit een succes geworden en daarom verwijderden we het in 2019 uit TCC.

Onderdelen

TCC.Server

TCC.Server is het centrale brein van TCC en onderhoudt continu verbinding met TCC.Clients, TCC.Devices en de Asterisk-servers. Alle hogere functies lopen door TCC.Server heen.

Functies TCC.Server:

  • Skills-based routing voor het routeren van inkomende gesprekken naar de beste agent
  • Aannemen en uitbellen van gesprekken
  • Automatisch bellen van tolken en het doorverbinden van telefonische tolkdiensten (zie TAS)
  • Zonder tussenkomst van agenten een ad-hoc tolkdienst opzetten via speciale tijdelijke telefoonnummers
  • Automatisch en handmatig inbreken in een lopende telefonische tolkdienst
  • Web-based gebruiker-interface
  • Inloggen en behouden van agent status
  • Registratie van agent- en gespreks-statistieken
  • Realtime koppeling met het Agent planning systeem van Verint

TCC.Client

TCC.Client heeft een gebruikelijke gebruikersinterface voor callcenters, bestaande uit een altijd zichtbare taakbalk bovenin het scherm. Via deze taakbalk kan een agent onder andere gesprekken aannemen, uitbellen, zich aanmelden bij een groep en zijn beschikbaarheid aanpassen. Ook wordt er informatie weergegeven over het actieve gesprek en het aantal wachtende gesprekken.

Daarnaast is er een webbrowser, gebaseerd op chromium geïntegreerd in TCC.Client. In deze webbrowser draait de gebruikersinterface van TAS. Voor agenten lijken TCC en TAS één geheel, wat de efficiëntie verhoogt.

Als een agent een klant moet bellen opent hij of zij het gespreksregistratiescherm van TAS, zoekt de klant op en drukt op de belknop. Zonder dat de agent maar iets hoeft te doen wordt TCC.Device actief. Daarna belt een Asterisk-server TCC.Device voor het opzetten van een gesprekskanaal met de agent. Vervolgens belt het systeem de klant.

TCC.Client op de frontoffice staat meestal op auto-answer. Dit wil zeggen dat inkomende gesprekken automatisch aangenomen worden. Het gespreksregistratiescherm van TAS opent automatisch. De agent krijgt als extra waarschuwing drie pieptoontjes met extra informatie te horen voordat hij of zij wordt doorverbonden met de klant. Vaak is de klant al geïdentificeerd door het systeem aan de hand van het telefoonnummer of de klantcode. Vanuit het gespreksregistratiescherm kan de agent direct de nodige acties uitvoeren zonder extra schermen te openen of informatie over te moeten tikken.

TCC.Device

TCC.Device is een eenvoudige minimale softphone die zorgt voor de geluids- of videoverbinding met een agent. TCC.Server opent en sluit het schermpje automatisch. Wel is het mogelijk om de volumes aan te passen en DTMF’s te versturen.

Het aannemen van een gesprek of uitbellen gebeurt via TCC.Client.

TCC.Device gebruikt pjsip stack voor sip en Vidyo SDK voor video.

Media Servers

Asterisk servers

Asterisk-servers worden gebruikt voor de telefonie door ze via SIP-trunks te koppelen aan het openbare telefoonnetwerk. Van Asterisk gebruiken we alleen de core-functionaliteiten zoals gesprekken opzetten en koppelen, het afspelen van voice-bestanden en IVR. Alle hogere functionaliteiten worden gerealiseerd door TCC.Server.

De Asterisk servers dienen ook als Session Border Controller.

Vidyo 3.0 (legacy)

Vidyo 3.0 is een eigen video-conferencing-oplossing van Vidyo met eigen software, libraries en protocollen. Aangezien vidyo niet centraal aangestuurd kan worden, gaat de sturing indirect via TCC.Device.

Architectuur

Onderdeel Architectuur
TCC.Server NT-Service geschreven in C#.
Koppeling met SQL Server voor opslaan configuratie en logging.
TCC.Client Windows applicatie geschreven in C#.
Geïntegreerde Chromium (CefSharp) browser.
TCC.Device Windows applicatie geschreven in C++.
PJSIP-stack voor SIP-softphone.
Vidyo-client voor video bellen.

De TCC-configuratie bestaat uit één Centrale TCC.Server op iedere werkplek, TCC.Client, TCC.Device en twee Asterisk-servers. De huidige configuratie kan de gestelde eisen makkelijk aan.

Productie

periode waar
2011 - heden Global Talk / TVcN
2014-2019 Drie callcenters van Manpower Nederland (via infrastructuur TVcN).

Technologieën

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

Mijn functie

Volledig zelf ontwikkeld. Vanaf functioneel ontwerp tot en met softwareontwikkeling.