Paralleling the move to distributed computing is a move to distributed computer telephony. It starts with the hardware. Both Dialogic and Natural MicroSystems define telephony buses. Developers have long used Dialogic's PEB (PCM Expansion Bus) or the GO-MVIP consortium's MVIP (Multi-Vendor Integration Protocol) originated by Natural MicroSystems to combine voice-processing, speech-recognition, and switching resources into custom telephony systems. More recently, Dialogic has advanced SCSA (Signal Computing System Architecture), which currently defines a telephony bus that can span multiple computer chassis and which also aims to define a software framework in which telephony applications can dynamically acquire and release sets of hardware resources.
A parallel effort called DCT (Distributed Computer Telephony), led by In
terVoice, VoiceTek, and Centigram and involving Natural MicroSystems and others, is also under way. Both Natural MicroSystems and Dialogic are moving to the NetWare platform and plan to offer APIs complementary to TSAPI that can be used to add voice-processing capabilities to the Novell/AT&T telephony services product.
At the extreme end of the spectrum is the notion of distributing computer telephony throughout the phone network. That it isn't so already may not be obvious. But despite the worldwide reach of the phone network, its value-added services tend to couple tightly to individual switches in telephone company central offices or corporate basements. You can't, for example, build a virtual call center that mobilizes agents who may work in various locations, perhaps even in their homes, if everyone has to connect to the same switch to use its ACD (automatic call distributor).
Teloquent's DCC (Distributed Call Center), in an elegant demonstration of a concept that Bellcore calls the advanc
ed intelligent network, severs the umbilical cord that connects the ACD to the switch. Its software-based ACD can float freely in an ISDN network. Another major benefit of this approach, says Teloquent's development manager Gerry Plummer, is that developers of such network-based applications aren't working in the rather archaic development environment of the PBX, but rather in a more modern, productive one. "There's no Borland C++ on the [Definity] G3, and no Visual Basic," says Plummer. "We've been able to develop advanced intelligent network services in days, not weeks or months."
Illustration: Distributed Call Center
With Teloquent's DCC, the phone company's central office delivers an ISDN setup message for each customer call to PhoneServer (1). PhoneServer automatically selects the best way to route the call (2); if necessary, it can ask VoiceServer to request more information from the customer. PhoneServer then alerts the best available agent (3) and sends him or her information about the c
all. Next, PhoneServer issues an ISDN transfer message to the central office (4). Finally, PhoneServer forwards all customer and agent statistics to the supervisor (5).
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it
is
theoretical--and no language better exemplifies this than C++.
BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin,
and dozens of other CMP publications—bringing
you critical news and information about wireless communication,
computer security, software development, embedded systems,
and more!