A telephone communication system utilizing a virtual phone wherein a telephone
switch or similar digital switching device, a digital telephone and an external
device such as a personal computer (PC) or other processor are generically interfaced.
The virtual phone generic interface is configurable and comprises a set of virtual
phone data structures, internal and external virtual phone application program
interfaces, and an external transfer protocol. Software designated an abstraction
layer provides communication between the internal virtual phone application program
interface, the telephone switch and the telephone set. The generic interface converts
proprietary telephone switch or external interface application protocols into a
common format and functions as a protocol interpreter between proprietary switching
system protocols and protocols of various applications.