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 application
protocols into a common format and functions as a protocol interpreter
between proprietary switching system protocols and protocols of various
applications.