JABS Technologies,
the system's designer and developer, built Dr. Quiz from the ground up without using any of the various CTI toolkits or application generators on the market. "When work on Dr. Quiz began over three years ago, there weren't many tools available for the Windows NT platform," says
Jorge Balmaseda
, JABS president. So JABS and codeveloper High Caliber Systems, a New York City-based systems integrator, wrote the software using Microsoft Visual C++ 4.2 and Dialogic's software development kit. Microsoft SQL Server 6.5 stores responses and other data.
Multithreaded
Balmaseda says the development environment gave him complete control over system availability, scalability, and extensibility. Windows NT provides a stable platform with sophisticated event-logging and performance monitoring. It allowed JABS to build a multithreaded application as a service that runs in the background whenever the PC is running. (Dr. Quiz runs on a 486/66 PC with 32 MB of RAM and NT Workstation
version 4. A Dialogic 121/B telephony card can handle up to 12 analog lines simultaneously, although the software was designed to handle at least 10 times that number, according to Balmaseda.)
For high availability, call processing can be manually switched over (locally or remotely) to a standby PC if the primary PC happens to go down. The manual switch-over is accomplished using NT's Service API. A remote watchdog PC automatically monitors the main system through NT's remote procedure calls. This standby PC can take over operations if the main system goes down. Line counts can be increased by increasing telephony card densities in the PC or by adding more PCs.
One of the biggest problems the developers faced when building the system was the lack of multithreading in the Microsoft Foundation Classes (MFC) Open Database Connectivity (ODBC) classes. The programmers ended up dropping MFC in favor of directly using the ODBC API for all database access.
Plugging Leaks
Memory leak
s that occurred only after hundreds of calls had been made also stalled the development process. What are Balmaseda's primary words of wisdom to those people starting to develop their own CTI applications? "Test, test, test. And then test again."
In the end, however, the interactive voice-response system has saved the company hundreds of worker hours. When PMT started out four years ago, students received and returned quizzes by fax, but as business grew, faxing thousands of tests each month and grading them by hand became a time- and resource-consuming nightmare. Quizzes now are graded on-the-fly, scores are automatically entered in the database, and PMT can feed analytical reports back to clients in a matter of hours instead of weeks.
photo_link (51 Kbytes)

For CTI applications, "test, test, test. And test again."