A computer telephony system includes a multi-platform architecture that provides
a layer of abstraction between application software and hardware associated with
a platform. According to this architecture, service modules residing on different
platforms access computer telephony resources to facilitate performance of a variety
of computer telephony services. Although local access to such resources is governed
by diverse, platform-dependent protocols, the service modules communicate with
one another according to a common, platform-independent protocol. In this manner,
cross-platform communication is abstracted to isolate system software and firmware
from hardware-based platform dependencies. Instead of threaded drivers creating
a persistent, dedicated link with resources, communication can be accomplished
via a common, platform-independent message packet protocol.