Multimedia scripting tool

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000, C704S270000, C345S215000, C345S960000, C379S908000

Reexamination Certificate

active

06173437

ABSTRACT:

TECHNICAL FIELD OF THE INVENTION
This invention relates in general to telephone communications systems and more particularly to a computer-based application development environment that supports device-independent call flow scripting.
BACKGROUND OF THE INVENTION
In today's society, it is quite common for a person to call a business, such as a bank, and reach an interactive voice response (IVR) system. Typically, such an IVR system prompts the caller to enter certain information, such as an account number and personal identification number (PIN). The IVR system may then check this information against a database and, depending on information stored within the database, may provide relevant information or may prompt the caller to select an available transaction.
For example, after entering valid account and PIN numbers, as verified through comparison with a database, a caller may indicate that he or she wishes to determine the balance of a savings account. Once the caller indicates this choice, the IVR will retrieve the information from the proper database and communicate it to the caller.
After completing a transaction, the caller is typically prompted for a follow up option. Such follow up options might include the choice of speaking to an account representative. Upon selection of this option, the caller will eventually be connected with an account representative, possibly through an automatic call distribution (ACD) system coupled to the IVR system.
Typically, service of the caller by the account representative requires some of the same information previously provided the IVR and/or its coupled devices by the caller. For example, the account representative might require the caller's name, PIN, and account number. Accordingly, the caller is forced to resupply the information that was previously input to the IVR system. This repetition causes unnecessary delay to the parties involved as well as increasing the possibility of an error in the communication of such information.
In typical prior art IVR systems there are technical reasons that the caller must resupply previously entered information at subsequent points in the call flow. Generally, the hardware that manages incoming calls is divided into a number of discrete components connected via communications links. Each component operates substantially independent of the others to perform a specific function. For example, a private branch exchange (PBX) may initially route the incoming call to the IVR system which in turn sends database queries to a database server in response to caller input. When the caller indicates that he or she wants to speak to an account representative, the PBX, possibly in conjunction with an ACD, routes the call to a telephone used by the account representative and to a computer-telephony integrated (CTI) server controlling the account representative's computer terminal.
Generally, each component is controlled by its own call flow script to result in essentially a state machine that transitions according to the caller's input. A call flow script must be written and compiled for each such component since each component possesses different capabilities and features to perform the various aspects of a call flow.
Accordingly, each component involved in handling a call acts as its own “island.” Since each component requires its own call flow script, there are few, if any, provisions for passing data among the components. Since each component is independent, short of a single high level device controlling each component, there is no uniform way to pass variable data, such as an account number, among the various autonomous components. As a result, both the caller and callee are inconvenienced when the caller is forced to enter redundant information into IVR systems and the like.
The use of the above described autonomous components to achieve a desired call flow, although presenting a limitation to passing data among the components, has advantages associated with a distributed system. By distributed system it is meant that separate components are responsible for specific functions.
An advantage presented by a distributed system includes system fault tolerance, i.e., if a single component fails only its functionality is compromised and additional aspects of the call handling system remain available to service a caller. Where a single device is utilized to provide, or a single high level device is utilized to control, all aspects of a call flow, the failure of such a device renders the system totally inoperable. Additionally, unrelated or dissimilar components, i.e., produced by different manufacturers or from differing model lines, may be interconnected to provide the desired aspects of a call flow. For example, features not available on one manufacturer's equipment or model line may be realized through the use of another manufacturer's equipment including the feature.
Thus, there is a need in the art for the ability to pass data among various components used to control a telephone call.
There is a further need in the art for the ability to interconnect dissimilar components to comprise the various components used to control a telephone call while maintaining the ability to pass data among them.
There is also a need for a scripting language that can be used to script the call flows of the various components.
More specifically, there is a need in the art for a development environment that can be used in a device-independent manner to script a call flow from start to finish.
There is a still further need in the art for the development environment to consider attributes of the various components in order optimize their interaction in the call flow.
SUMMARY OF THE INVENTION
The above and other needs are met by a development environment having a device independent scripting language that can be used in controlling all of the hardware involved in handling an incoming phone call. The scripting language allows the call flow to be scripted from a starting boundary, i.e., off hook, incoming to the PBX, incoming to the building, etc., to an end point such as call termination. Call flow scripting through the use of the scripting language involves the use of a single high level command structure, regardless of the different individual hardware components actually handling the call, to generate code operable on the individual components.
The scripting language allows the developer to script all possible aspects of the call, such as messages, prompts, menu choices, and presentation of variable information. The developer can use a single variable set, common throughout the different hardware components, to control the call flow.
In order to provide code operable on the different hardware components, the development environment contains a plurality of sub-compilers, or hardware specific modules, to compile a run-time version of the script for each discrete hardware component, or “box,” on which the script will run. In other words, the developer informs the development environment as to what specific hardware will be used, and the development environment determines how various portions of the script, or script segments, should be compiled in order to provide the desired call flow on the available hardware.
Typically, each hardware component supports a defined, or standard, feature set. However, certain features are often configurable. Therefore, the development environment will determine the optimal hardware configuration of each discrete hardware component to result in their improved interaction throughout the call flow. Additionally, as certain call flow characteristics may be more important in a particular installation than others, the development environment utilizes developer input selecting desired attributes to determine the optimal hardware configuration. For example, the speed at which variable information is retrieved or passed between the various hardware components may be of paramount importance in a given installation, even at the expense of other system attributes, such as signal qual

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Multimedia scripting tool does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Multimedia scripting tool, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multimedia scripting tool will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2434933

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.