A system and method for controlling a communications system that
dynamically provides context sensitive functionality. In one embodiment,
the system comprises a Private Branch Exchange (PBX) connected by
communications channels to one or more communications devices and
controlled, in part, by software objects that provide functionality that
varies dependent on the hardware and software currently available and the
status of that hardware and software. In one embodiment, the user of the
communications device is presented, by way of an addressable display and
associated function buttons, with only the function options appropriate
to the context in which they are currently using the system. For
instance, a conference option only becomes available when more than one
incoming call is made to the same telephone.