Web-Enabling Your Call Center

by Brian McConnell

One of the hot topics in the past year has been integrating a worldwide web site into a call center. The idea is simple and compelling. Put a "Talk to an Agent" button in a web page so customers can reach a human being with a click of a mouse. Although I've always liked the general idea behind the concept, getting web server technology and PBX technology to work together can be difficult. There are a number of reasons for this. Some can be handily blamed on PBX vendors. Some can be blamed on web server and web site designers (many of whom view the telephone as an outmoded appliance soon to be sharing shelf space with the telegraph). Getting your web server to coordinate a return phone call to the customer just isn't easy, especially if your web server is at your ISP's facility in Pago Pago while your agents are working from several offices, with a different switch at each office (a surprisingly common situation in larger companies).

A simpler, cheaper and equally effective approach is to use text chat software to communicate with customers. Using chat software based upon internet relay chat (IRC) protocol, a widely supported mechanism for text chat on the internet, you can quickly put together a "Click for an Agent" mechanism which integrates very cleanly with your existing web site without having to deal with your PBX at all. Read "Learn Internet Relay Chat"

This article explains how to use IRC to allow real-time interaction with your customer support agents through your web site. With the exception of one package mentioned in this article, all of the programs cited below are free or shareware programs which can be downloaded from the web. One of the best sources for these and other shareware programs is Shareware.com.

Internet Relay Chat - an introduction
IRC is a widely used service which enables multi-party text conferencing on the internet. It was originally developed in Finland, and quickly spread around the world several years ago. Internet chat might seem like a new thing, but it's actually been around for quite some time in one form or another. IRC created a standard mechanism for creating multi-party conversations, and for networking chat servers. This enabled very large numbers of people to converse online through a large network of publicly operated IRC servers. The service reached the critical mass needed to sustain itself and has been humming along for years now. IRC chats are really the same thing as a multi-party conference call, except that people are typing instead of talking.

The beauty of IRC is that it is a public domain technology which is supported by many different software vendors. You can find free IRC clients, as well as commercially available packages such as Microsoft Chat (part of the Internet Explorer suite). Likewise, IRC servers are available in both free and commercial forms. So, if you're on a tight budget, you can literally create a web-enabled call center without spending a dime. If you're not, there are some fine commercial packages on the market too. IRC, by the way, is backed up by an official internet (IETF) standard, so it is supported on many operating systems, not just Windows. With Java IRC clients, customers can talk to you from almost any type of computer.

IRC servers
An IRC server is a central point where IRC messages are handled, much like a multi-party conference bridge handles incoming phone lines. One important difference is that IRC servers can be distributed into a network of servers which function like one. This is very important if you want to host large audiences of people in a single virtual chat room, or have users visiting from points around the world. By distributing your servers, you can create a high-performance worldwide network if you want to (or piggyback on someone else's). Or, you can run everything off one server. Unless you plan to host thousands of users over a wide geographic area, a single server is probably more than enough.

IRC server software is generally packaged as freeware or shareware (try before you buy), and can be found on several web sites specializing in the distribution of freeware and shareware programs. One of my favorite sites for shareware software is Shareware.com. You'll find just about anything you can imagine here. Just search on the term "IRC" and you'll find both IRC client and server programs which you can download and evaluate.

The IRC server manages connections from individual users, and also allows you to create chat rooms. In IRC, there are 3 major types of rooms: public rooms, private rooms, and moderated rooms. A public room is the cyberspace equivalent of a public meeting room. Anybody can enter the room, and anybody can post comments. A private room is a room which is accessible only to certain people (usually the person who created the room and people he or she has invited to join). Private rooms are a great place to conduct one on one or small group conversations outside of a public area (i.e., to discuss a very specific issue which will bore the other 50 people to tears). Moderated rooms are public rooms which anybody can join, however comments are first sent to a moderator before appearing to the rest of the group. Moderated rooms are great for hosting virtual seminars, Q&A sessions, etc.

eshare's excellent chat server
If you're serious about turning your web site into a virtual auditorium or an extension of your customer service call center, be sure to look at eshare. They make a truly excellent server suite which supports all types of client software, from freeware IRC clients, to ActiveX clients, to their own Java applets which can be embedded in your web site. They support their own proprietary chat protocol as well as the industry standard IRC protocol. Most importantly, they provide an extensive range of configuration options for the server.

For example, you can create moderated auditoriums for hosting large Q&A sessions managed by a guest speaker; you can create public rooms which anybody can join and post comments to. You can also decide whether you want anybody to be able to join your chat rooms, or whether you want to require visitors to have a user ID and password (a great way to give customers an incentive to pay their tech support fees).

The eshare program is available for UNIX and Windows NT servers, and sells for $995 for a version which supports 100 concurrent users (upgradable from there). It's not cheap, but loaded with features. The Java applets alone are worth the price of the software. Visit their web site for more information or to download an evaluation version.

There are also many shareware IRC servers for use on Windows and UNIX servers. They are generally harder to set up, but offer similar configuration options once you learn how to administer them.

IRC clients
IRC client software is also quite readily available, almost always for free. There are 3 basic types of IRC clients: IRC clients for expert chat room users, user friendly clients for occasional or novice chat users, and Java IRC clients designed to be embedded in a web page. Of the bunch, the best programs to use are in the latter 2 categories. The power user IRC clients are better suited for people who need to have simultaneous chats going with 5 "hot babes" while they download who knows what from their favorite web site; they're not really designed to be novice friendly.

Novice IRC clients
My favorite chat client for novice users is Microsoft Chat 2.1. This program, now part of the Internet Explorer suite, makes participating in chats easy. It operates in both a text mode, and in a comic mode (where your conversation takes on the appearance of a comic strip). Microsoft also has a Java chat applet which can be embedded in a web page; more on Java clients in a moment. The only downside of using these types of programs for your client side solution is customers have to download the program before they can chat with you. This is not a problem if you're mainly concerned with supporting a base of existing, repeat visitors, but is not desirable if your typical caller is someone with an occasional need to talk with someone. A better way to go is to use Java clients.

Java IRC clients
Java is a great enabling technology for the web. A Java applet is essentially a throw-away program which is sent along with a web page. The program runs until it is no longer needed and then commits suicide. It's also platform neutral, meaning a program written in Java will run on virtually any computer. However, in this case, the primary benefit of Java is you can embed your chat client in your web pages themselves. Whenever a customer visits your chat-enabled tech support web page, for example, they would see a chat window containing live comments from other users, and would be able to participate in the discussion. The ability to talk to customer service reps is part of the web page itself.

eshare's Java Light client (for use on slow connections or computers).

Click here to view a screen shot of eshare's deluxe Java client (for use on faster connections).

There are 2 especially good Java IRC clients available right now. One is a set of Java clients which are embedded in the eshare server mentioned earlier. Microsoft also makes an applet called jChat which is part of their chat product. To use the eshare applets, you need to have their server (worth the price). To use the Microsoft client (or any other Java IRC client), you just need to have an IRC chat server.

Customized IRC clients
One shortcoming in most of the IRC clients we've used is that many of them do not provide audio notification of new messages (i.e., a beep, phone ringing sound, something). This is a problem in a call center environment because you can easily overlook someone's plea for help if you're doing something else or another program is covering your chat program. Fortunately, there's an easy fix (and no doubt improvements will be made to existing clients as more people use them this way). Microsoft recently released an IRC compatible ActiveX control which you can use to create customized IRC clients in Visual Basic, Visual C++ and other ActiveX compatible development environments. The tool is very well designed (you don't have to do much more than drag the chat control into a Visual Basic form to get a minimal program going), and provides almost limitless opportunities to customize the application.

In a company I used to manage, we used the Microsoft Chat control to design a simple chat client which monitored our public chat server whenever we were in the office, and started making noises when someone posted a message to our virtual auditorium. We frequently worked from multiple locations in the U.S. and Europe, but we were able to monitor the room as a single team using this tool. It also automatically disconnected itself if it didn't detect any keystrokes after a while, so customers were less likely to wander into the room thinking that one of us was there when we had stepped out for lunch.

Screen shot of our handy dandy customized IRC client. It started making noises when someone posted a message and nobody responded within a few seconds.

The nice thing about being able to write a chat application in Visual Basic is you can do all kinds of things in response to a message. For example, the VB application monitoring the room could page or call on-call staff if nobody was logged in to respond to the message, and at the same time send an automatic reply to the customer like "Hold on.. I'm trying to locate someone who can help you." This is not for programming novices, but for any Visual Basic programmer with experience using ActiveX controls it is pretty easy to do. The applet featured above represents a total of about 2 hours worth of work.

Example applications for IRC chat in your web site

  • Online customer service - use IRC to provide personalized customer service to customers clicking a "Talk to an Agent" button on your web site.
  • Online seminars - host virtual seminars about your products and services; now you can reach a worldwide audience without renting a hotel conference room.
  • Online meetings - if you have employees scattered around, or want to hold an informal meeting without bringing the company to a halt, this is another great use for text chat.


  • Accessible worldwide, toll free by anybody with an internet connection.
  • Java chat clients enable you to embed chat features into web pages themselves (no separate software required for the customer beyond a web browser).
  • Great for supporting international customers (you don't have to worry about accents when you're talking through a keyboard, so it makes international conversations much easier).


  • IRC does not support voice, although it does allow you to send pre-recorded messages. So, it's not useful if real-time voice or video communication is required.
  • IRC does not address PBXs, so it is difficult to create an auto-dialer that will phone customers up and patch in an agent.
  • You need to have a dedicated internet connection at your office to make this work really well. However, there are a hundred other reasons why it makes sense to have a dedicated internet connection nowadays.

Bottom line
For under $1000, and often for nothing, you can add chat functionality to your company web site. All you need is a web server, a dedicated internet connection (even a relatively slow connection works fine for text-only conversations), and some of the programs mentioned above. Best of all, you won't have to monkey around with your PBX to make this work. If a customer wants to talk on the phone, it's easy for the customer to type "Call me at 4155551212, I want to discuss this in person" in a chat window. True, this isn't the same as having TAPI/MAPI integration between the web server and your PBX where the web server completes the call, but if your customer support agents are too lazy to pick up their phone and dial a number, then they're probably too lazy to be on your payroll anyway. It's also important to note that this is the kind of thing a 3 person company can implement without buying a PBX, high-end ACD, etc. All you need is a web site, an internet connection, some IRC server software and a web browser.