Wallboard

Overview

Together with a few colleagues, we implemented and operated the technical bits of 8 callcenters of different sizes across Switzerland.

Access to up-to-date statistics is key for callcenter managers and employees. This is usually accomplished by mounting a big screen in a place everyone can see it.

There was no off-the-shelf solution available at the time, and some inhouse-built solution was present. But the solution was nowhere near real-time, so I suggested to build a new version. Which I have done.

IMG-20141204-WA0001.jpg
 

Details

In case you wonder: a telephony system does not “just work” by itself. Yes, there is effort required and highly probably, there are also people in your company looking after them.

While the phones play quite a part in the whole story, it cannot be reduced to the physical devices only. People hardly ever notice that call flows need to be configured and maintained as well. Especially in a callcenter, a lot of requirements had to be provided such a solution. At the time, the callcenter software in use was crafted by an external partner long before I joined the team.

A big item on the wishlist was to have a real-time overview of what’s going on in the callcenter. Especially, it was important to know how many calls were in the queue, or how many calls were missed at any given time.

The callcenter solution was based (among other components) on voice4 and XCAPI by the company TE-SYSTEMS. The “base” telephony system was a Cisco Unified Communications Manager.

Integrations

The wallboard needed to connect to various different tools to work reliably:

  • voice4 offered a proprietary, but documented plaintext interface called Popup. This had to be implemented to get real-time notifications about e.g. a call entering or leaving a queue.

  • Further, each phone had to be observed to know how many agents were busy. The protocol needed for this was JTAPI. As the letter J suggests, this was luckily a Java-based library made available by Cisco.

  • It also had to connect to a Microsoft SQL database to retrieve basic data about callcenter agents like phone id, names, queue memberships etc.

Version 1

The very first version of the wallboard existed before I started, and it was mostly a pretty static website updating itself (=reloading) every now and then.

My first attempt at fixing this was in 2014. Back in the days, neither browsers nor JavaScript frameworks were what they are today, and there was a time when easily pluggable libraries like socket.io had not yet existed. Knowing Java quite well from the university, the solution to go for was a Java-based service and a Java-Webstart-based client.

Version 2

Configuring additional tenants turned out to be difficult to maintain in version 1. Special ports were needed to make it work and the flexibility in the displays was limited

A few years later, web frameworks started to become more and more popular and socket.io became a stable library. Hence I rebuilt it based on NodeJS (my first NodeJS project). As pure JavaScript felt clunky, I used CoffeeScript on top.

Previous
Previous

HIT-List