A software-based distributed architecture allows rapid provisioning and
flexible management of fault-tolerant call centers for interaction
between companies' agents and outside customers via multi-media messages,
using both real time and non-real time messages. The real time messages
include web-based chat, forms and applications sharing, PSTN calls, and
incoming and outgoing Voice over IP calls. The non-real time messages
include web call-back requests, voice messages, fax messages, and email
messages. The architecture provides for sharing of non-dedicated
resources among multiple companies, mirrored hot backup, dynamic resource
provisioning and allocation, dynamic load balancing, and implementation
of service controls on individual companies in accordance with
subscription service limits.