Field Report: Salem Radio Labs Call Commander

December 1, 2006

When I first heard about Call Commander from Salem Radio Labs, I knew I wanted to know more about it. I was skeptical about the quality and usefulness of the free software, so I decided to put it to the test.

Click here to enlarge this image.

Salem Radio Labs is a division of Salem Communications, and releases its software under the GNU general public license, so users can do anything with it, and the source code must be made available to anyone using the program. This also means that there isn't any formal support for it except for mailing lists and other users.

Salem's Call Commander software is available in a stable and a beta release; which one you use depends largely on what you want to do with it. Additionally, Call Commander is available as a precompiled binary for numerous versions of SUSE Linux, a precompiled binary for Windows, or as source code so you can build it yourself if need be. For testing we have Windows workstations in the studio and a Telos 2101 phone system, so the best choice for our evaluation was the Windows beta version (1.5.3-1 at the time of this writing).

Installation is straightforward with no options for custom settings. Once installed, Salem's Call Commander package consists of three applications: Call Commander (the actual call screening application), Call Manager and Database Manager.

Performance at a glance
Basic functionality easy to set up
Compatible with many common phone systems
Advanced functionality more difficult, but very useful
Can be used on many machines simultaneously
Source code available for alterations as needed

After launching the Call Commander application, the Connection Manager appears, asking questions about the phone system. Answering prompts such as serial port, host name, user name and password allows the software to do most of the configuration for you.

Once a connection has been established, the software opens a default screen with buttons based on the functionality of the phone system, line status, hold, hang up, next call, dump, dialing pad and record. It also contains a chat window, current time and time segment window. Customization of this screen is incredibly easy, as all elements are defined in a text configuration file.

For example, the default 2101 configuration shows 12 lines, even though we only have eight devoted to a show at any given time. Removing those additional four lines from the screen was as simple as changing a yes to a no in the configuration file. Numerous sample configuration files are included with the package, and many configuration files can be used on a single machine, allowing one configuration for one show in Studio A, and a different configuration for a second show in the same studio.

Install the less than 1.5MB package on additional systems, configured similarly to talk to your phone equipment, and you may begin using it immediately. Out of the box it allows a screener to enter all the information expected from a call screening application, such as name, city, state, ZIP code, caller's comment, gender, age, station, call quality and whether he is using a cell phone (very important these days).

The Screen Caller dialog provides spaces to enter the caller's name, location and discussion topic. Click here to enlarge this image.

Want more?

But what if more functionality is required? What if you want to use things like Caller ID so the software automatically enters that information into the talent screen? What if you want to generate a log of all calls to go back through and search? What if you have a phone system that only allows a single workstation to control it via a dedicated serial port? At present that requires a bit more effort; mainly installing the Linux version of Call Commander to get a few more applications called MCIDMD and MLD.

MCIDMD is a small daemon that runs in the background on a Linux system, acting like an automated call screener. When you receive a call, MCIDMD checks the database against the incoming call's Caller ID information. If it finds information about a matching call (meaning he has called in before), it pushes information about that caller (name, city and state) back to all Call Commander computers to display on their screens. If MCIDMD does not find a matching call in its database, it uses information from the North American Numbering Plan Administration ( database to populate city, state, ZIP code and if the number is a cell phone. MCIDMD is also responsible for logging call information into the database.

Once MCIDMD is running, the Database Administrator creates shows to specify which connection to the phone system to use, and during what times to monitor calls (every weekday from 11 to 12, for instance). Permission to access the logs can also be set for additional users. This information tells the MCIDMD daemon what, where and how to log calls that come in, all based on when they come in, as well as who can view information about those calls.

The Call Manager application views and analyzes callers based on the entries in the Call Commander database, which records information such as the ring time, hold time and on-air time of a call. It also configures actions for calls, such as blocking certain numbers completely (when a call comes in from a blocked number the system automatically hangs up on the caller), or simply warning the host about a particular number (when a call comes in the system shows the warning message on all screens of the system). Finally, custom reports can be created to analyze demographics based on geographic location, gender or age.

To allow multiple workstations to control a telephone interface with only one serial port, the MLD daemon virtualizes that device. For example, the Linux box connects directly to the device via a serial cable, and the workstations connect via TCP/IP to that Linux box. Commands are interpreted and issued as required, and multiple users can access the virtual phone system as need be. To them it is the same as if the phone system accepts TCP/IP communication natively.

Salem Radio Labs

Call Commander is a highly effective, extremely capable, elegant call screening application. Installation and configuration are simple for basic functionality, but more advanced functionality like logging and Caller ID functionality requires a Linux machine, and configuration of the daemon may be beyond the reach of some users. Having said that, because the source code is available those users comfortable with programming languages can freely modify the applications, creating the functionality they need immediately. And because it is free, trying it out is as simple as finding enough time to download and install it.

Harrison is a radio broadcast engineer at WETA-FM, Washington, DC.

Editor's note: Field Reports are an exclusive Radio magazine feature for radio broadcasters. Each report is prepared by well-qualified staff at a radio station, production facility or consulting company.

These reports are performed by the industry, for the industry. Manufacturer support is limited to providing loan equipment and to aiding the author if requested.

It is the responsibility of Radio magazine to publish the results of any device tested, positive or negative. No report should be considered an endorsement or disapproval by Radio magazine.

Receive regular news and technology updates. Sign up for our free newsletter here.