Telephone call processing and switching systems are, at the time of the present patent application, relatively sophisticated, computerized systems, and development and introduction of new systems continues. Much information on the nature of such hardware and software is available in a number of publications accessible to the present inventor and to those with skill in the art in general.. For this reason, much minute detail of known systems is not reproduced here, as to do so would obscure the facts of the invention.
One document which provides considerable information on intelligent networks is "ITU-T Recommendation Q.1219, Intelligent Network User's Guide for Capability Set 1", dated April, 1994. This document is incorporated herein by reference.
At the time of filing the present patent application there continues to be remarkable growth in telephone-based information systems. Recently emerging examples are telemarketing operations and technical support operations, among many others, which have grown apace with development and marketing of, for example, sophisticated computer equipment. More traditional are systems for serving customers of such as large insurance organizations. In some cases organizations develop and maintain their own telephony operations with purchased or leased equipment, and in many other cases, companies are outsourcing such operations to firms that specialize in such services.
A large technical support operation serves as an example in this specification of the kind of applications of telephone equipment and functions to which the present invention pertains and applies. Consider such a system having a country-wide matrix of call-in centers, which is more and more a relatively common practice to provide redundancy and decentralization, which are often considered desirable in such operations. Also in such large organizations, business firms have a national, and in many cases a world-wide customer base. Such a system handles a large volume of calls from people seeking technical information on installation of certain computer-oriented equipment, and the calls are handled by a finite number of trained operators distributed over the decentralized matrix of call-in centers.
A problem in operating such a call-in system is in identifying caller requirements and routing individual calls based on the requirements to operators possessing the requisite skills and information to efficiently serve the callers. In most such systems there are a number of sorting criteria to consider. There may be, for example, several products for which technical support is provided. Calls from persons seeking technical aid for a specific product need to be routed to those operators that are trained in support for the specific product. Moreover, there may be such as language requirements as well. In some parts of the country there may be a need for Spanish-speaking operators to serve those customers who speak Spanish rather than English, or who may be more comfortable in Spanish. Sorting and routing calls in this instance is often termed skill-based routing in the art.
Another desirable goal in such a system is to provide efficient and effective service to the largest number of customers with limited operator resources. To accomplish this end it is necessary to seek to route calls with the most up-to-date information concerning operator availability possible, so callers may be cued in the most efficient manner, avoiding long waiting periods for service. It is desirable, that is, to route calls in a manner that minimizes wait time for the customer. This is not only advantageous for the customer, but also to the organization providing the service, as more may then be done with less resources.
Conventionally routing of calls is done statistically, such as by tracking percentages of call load or by some Management Information System (MIS). In these systems data that is at least several minutes old is typically used for call-routing purposes, and, in the few minutes between real-time and data age, load distribution can shift significantly, leading to very inefficient routing. Moreover the data is not always of the sort that could be used for most-efficient routing. Load distribution, for example, does not tell the routing intelligence where there may be an operator with the requisite skills to handle an incoming or waiting call, who is also free of other calls at the moment.
What is clearly needed is a better system and methods to do call routing in real time or very near real time, so delays are kept to a minimum and the best use of available resources may be made.