# Patent

## Title
Voice browser with integrated TCAP and ISUP interfaces

## Abstract

A voice browser configured to process voice markup language documents can include a voice processing application and an integrated communications interface for interacting with a voice processing system. The voice browser can be configured to load the voice processing application independently of a received telephone call. The integrated communications interface can include at least one of an integrated transaction capabilities application part component for receiving a transaction capabilities application part query and an integrated ISUP component for receiving a telephony control signal.

## Background
BACKGROUND OF THE INVENTION
1. Technical Field
The invention relates to the field of telephony and, more particularly, to the field of voice browsers.
2. Description of the Related Art
Voice browser technology is used to develop interactive telephony services. For example, interactive voice response units, referred to as IVRs, can be implemented with a voice browser and one or more voice markup language modules referred to as voicelets. When a telephone call is received, the telephone call can be routed to a voice browser. The voice browser can answer the telephone call, and after answering the telephone call, can load a voicelet to process the telephone call.
Conventional voice browsers, however, must answer a received telephone call prior to launching a voicelet within the voice browser. As such, conventional voice browser technology precludes the implementation of any service applications which can run independently of a received call or that must be loaded prior to receiving or answering an incoming call. Thus, for example, service applications such as “800” number translation, calling name delivery, and local number portability, which require a voicelet to be launched prior to answering a call cannot be implemented using conventional voice browser technology.
SUMMARY OF THE INVENTION
The invention disclosed herein provides for a class of telephony applications which can be loaded within a voice browser independently of whether a telephone call is received by the voice browser. In one aspect of the invention, a voice browser is disclosed which can include a telephony application, and an integrated communications interface for interacting with a voice processing system. The telephony application, for example, can be configured to perform any of a variety of telephony services such as number translation, calling name delivery, and/or local number portability. Notably, the voice browser can be configured to load the telephony application independently of a received telephone call.
The integrated communications interface can include at least one of an integrated transaction capabilities application part (TCAP) component for sending and receiving a TCAP query and an integrated ISDN user part (ISUP) component for sending and receiving a telephony control signal. The TCAP and ISUP interfaces can be software components such as Java beans or beans which are compatible with Java beans. The voice processing application can include an object tag for referencing the integrated communications interface.
Another aspect of the present invention can include a voice processing system. The voice processing system can include a speech and text-to-speech processor, at least one voice processing application, and a coordination processor configured to coordinate the operation of the speech and text-to-speech processor and the voice processing applications. The voice processing system further can include a plurality of active voice browsers. Each of the active voice browsers can communicate with the coordination processor through a communications interface included therein. The communications interface can include at least one of an integrated TCAP component for sending and receiving a TCAP query and an integrated ISUP component for sending and receiving a telephony control signal. The TCAP and ISUP interfaces can be software components, for example Java beans or beans compatible with Java beans.
The voice processing system can include a telephony application to be loaded within one of the voice browsers independently of a received telephone call. For example, an active voice browser can load the telephony application for performing a telephony service such as number translation, calling name delivery, and/or local number portability.
Another aspect of the present invention can include a method of managing voice browser applications in a telephony voice processing system. The method can include allocating one or more active voice browsers. Each of the voice browsers can include at least one of a TCAP interface for sending and receiving a TCAP query and an integrated ISUP interface for sending and receiving a telephony control signal. Although telephony applications can be loaded responsive to answering a telephone call, the method can include loading, within one of the active voice browsers, a telephony application independently of whether the voice browser receives a telephone call. For example, a telephony application can be loaded responsive to receiving a TCAP query, an ISUP telephony control signal, and/or a telephone call. Notably, the telephony application can be loaded responsive to receiving a telephone call, but prior to answering the telephone call. The telephony applications can be loaded for performing telephony services such as number translation, calling name delivery, and local number portability.



BRIEF DESCRIPTION OF THE DRAWINGS
There are shown in the drawings embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
FIG. 1 is a schematic diagram of a voice processing system in accordance with the inventive arrangements disclosed herein.



DETAILED DESCRIPTION OF THE INVENTION
The invention disclosed herein provides for a class of telephony applications which can be loaded within a voice browser independently of whether a telephone call is received by the voice browser. In particular, the invention provides a voice browser which can be configured with an integrated communications interface having a transaction capabilities application part (TCAP) component and an ISDN user part (ISUP) component, thereby allowing the voice browser to receive TCAP queries and ISUP control signals. Moreover, the integrated communications interface enables telephony applications executing within the voice browser to access TCAP and ISUP based services through the voice browser.
FIG. 1 is a schematic diagram illustrating a voice processing system 100 in accordance with the inventive arrangements disclosed herein. As shown in FIG. 1, system 100 can include a speech and text-to-speech (TTS) processor 105, one or more voice processing applications 110, and a Signaling System 7(SS7) interface 115. Each of the speech and text-to-speech processor 105, the voice processing applications 110, and the SS7 interface 115 can be communicatively linked through a coordination processor 120. The coordination processor 120 further can coordinate the interaction between the various components of system 100.
The coordination processor 120 can be communicatively linked to one or more voice browsers 125 through an interface 130. The voice browsers 125 can be configured to include an integrated communications interface having a TCAP component and an ISUP component, and can access and load any of a variety of telephony applications 135. The voice browsers 125 further can be communicatively linked to one or more HTTP servers 140 and 150. Each of the HTTP servers 140 and 150 can be communicatively linked to one or more application data stores 145 and 155 respectively.
The speech and TTS processor 105 can be configured to convert digitized speech to text. For example, the speech and TTS processor 105 can perform an acoustic analysis upon digitized speech to identify one or more potential text or word candidates as well as perform a contextual or linguistic analysis upon the potential word candidates to determine a final text representation of the digitized speech signal. Additionally, the speech and TTS processor 105 can produce speech from text input and/or pronunciation data through speech synthesis technology, or by playing recorded voice responses and/or selections.
The voice processing applications 110 can be one or more programs or sets of programs which can be written by system operators or administrators. The voice processing applications 110 can include one or more state tables or custom servers running within the voice processing system 100. For example, the voice processing applications 110 can answer calls, make calls, play recorded voice segments, as well as access the various functions of the speech and TTS processor 105 to interact with callers.
The coordination processor 120 can coordinate the operation of the speech and TTS processor 105, the voice processing applications 110, and the SS7 interface, as well as facilitate communications among the aforementioned components of the voice processing system 100. For example, as indicated, the coordination processor 120 can communicate with other telephony switching systems and resources via the SS7 interface 115. The SS7 interface, as is well known in the art, can include TCAP and ISUP communication components. The coordination processor 120 can access the voice processing applications 110 as needed to service incoming calls, place outgoing calls, or provide other telephony services. The coordination processor 110 also can route data between the speech and TTS processor 105 and the voice processing applications 110. Additionally, the coordination processor can include an interface for communicating with the voice browsers 125.
The voice browser 125 can load and execute telephony applications 135. The telephony applications 135 can include voice markup language modules referred to as voicelets, for example Voice Extensible Markup Language (VoiceXML) applications. Accordingly, the telephony applications can produce audio dialogs using synthesized speech and/or digitized audio, recognize dual tone multi-frequency (DTMF) key input, and record spoken input. The foregoing is not an exhaustive listing of telephony application capabilities. The list is provided for purposes of illustration only and is not intended as a limitation on the present invention. Accordingly, those skilled in the art will recognize that the telephony applications 135 can perform any of a variety of functions as specified within the VoiceXML specification as promulgated by the World Wide Web Consortium (W3C).
The voice browser 125 can format HTTP requests and send those requests to one or more HTTP servers 140 and 150. Each of the HTTP servers 140 and 150 can access one or more associated data stores. For example, HTTP server 140 can access the application data store 145; and, HTTP server 150 can access the application data store 155. Notably, as HTTP server 140 is an out of network HTTP server, communications with HTTP server 140 can be facilitated using public and private key encryption and digital certificates. For instance, secure socket layer (SSL) protocol can be used to ensure secure data transmission. In any case, each of the application data stores 145 and 155 can include application data, such as voice markup language application data, and more particularly, VoiceXML application data, which may be required by the telephony applications 135.
The voice browser 125 can be communicatively linked to the coordination processor 120 through an interface 130. The interface 130 can be implemented using a series of software components. More specifically, the voice browser 125 can include an integrated communications interface having a TCAP component and an ISUP component, each of which can be implemented as a software component such as a Java bean or bean which is compatible with Java beans. Through the integrated communications interface, the voice browser 125 can access transaction-oriented applications and functions as well as access procedures, functions, and interexchange signaling information flows required to provide circuit-switched services and associated facilities for voice and non-voice calls over ISDN. Thus, the ISUP component can support the protocols and procedures necessary to setup and manage a call, while the TCAP component can support the exchange of transactional information. Notably, the communications interface can be accessed by telephony applications 135 by including a reference to the interface within the telephony applications 135, for example by using an object attribute in VoiceXML.
In illustration, the voice processing system 100 can allocate one or more voice browsers 125 which remain in an active state. The voice browsers 125, having a TCAP component and an ISUP component integrated therein, can load telephony applications 135 as a result of a received TCAP query or ISUP telephony control signal. Thus, the telephony applications 135 can be loaded before a telephone call is answered by the voice browser, and/or independently of receiving a telephone call. Accordingly, the voice browsers 125 can provide a class of services previously unavailable using voice markup languages such as VoiceXML. For example, through the voice browsers 125 and the telephony applications 135, services such as number translation, calling name delivery, and local number portability can be provided.
Upon receiving a TCAP request, an ISUP control signal, or a telephone call, the voice browser 125 can load an appropriate telephony application 135. The telephony application 135 can access transaction-based features and functions as well as procedures, functions, and interexchange signaling information flows required to provide circuit-switched services and associated facilities for voice and non-voice calls over ISDN. Additionally, the telephony applications 135 can cause the voice browser 125 to format HTTP requests, through a secure connection if necessary, to be sent to the HTTP servers 140 and 150. The HTTP servers can access the requested application data from one of the data stores 145 and/or 155 as the case may be, and provide the requested application data to the appropriate telephony application 135 via the voice browser 125.
The telephony application 135s can initiate a transaction-based service via the TCAP component of the integrated communication interface as well as call setup and maintenance, for example, via the ISUP component of the integrated communications interface. For example, a query can be initiated to determine routing instructions for an “800” telephone number. The query can be received by the SS7 interface 115 and provided to the voice browser 125 via the coordination processor 110 and the interface 130. The voice browser 125 can load an appropriate telephony application to process the received request. Additionally, the telephony application 135 can initiate queries to telephony resources or cause the voice browser 125 to send HTTP requests to other HTTP servers.
In another aspect of the invention, an incoming telephone call originating from an external telephony switch can be routed to the voice processing system 100 for processing. The voice processing system can interact with a telephony switch to receive calls via the SS7 interface 115. The received telephone call can be processed as required using the interactive voice response functions provided by the speech and TTS processor 105 and the voice processing applications 110 under the control of the coordination processor 120. Similarly, the received telephone call can be routed to the voice browsers 125. Accordingly, upon receiving the telephone call, but prior to answering, the voice browser 125 can load one of the telephony applications 135 to perform call setup and maintenance and/or transaction based services.
Thus, the invention disclosed herein provides for a class of telephony applications which can be loaded within a voice browser independently of whether a telephone call is received by the voice browser. Because the voice browser includes an integrated communications interface having a TCAP component and an ISUP component, the voice browser can load voice markup language applications responsive to TCAP queries and ISUP telephony control signals.
The present invention can be realized in hardware, software, or a combination of hardware and software. The present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software can be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
This invention can be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.

## Claims

1. In a telephony voice processing system, a method of managing voice browser applications comprising:
allocating one or more active voice browsers, wherein each said voice browser comprises an integrated communications interface configured to communicate with a coordination processor of the voice processing system utilizing at least one of an integrated transaction capabilities application part (TCAP) interface for sending and receiving a TCAP query and an integrated services digital network user part (ISUP) interface for sending and receiving a telephony control signal;
selecting one of a plurality of telephony applications responsive to receiving a TCAP query or a ISUP telephony control signal by one of the active voice browsers, wherein the telephony application is selected independently of whether the voice browser receives a telephone call;
loading, within the voice browser, the selected telephony application, wherein said telephony application is loaded independently of receiving a telephone call and if a telephone call is received, prior to processing the received telephone call; and
selecting a voice markup language module responsive to receiving a telephone call and loading the selected voice markup language module to process the telephone call, the voice browser performing integrated selection and loading of the voice markup language module in response to a telephone call, and the voice browser performing selection and loading of the telephony application within the voice browser in response to a TCAP query or a ISUP telephony control signal and independently of whether the voice browser receives a telephone call.

2. The method of claim 1, said loading step comprising:
loading said telephony application for performing a telephony service selected from the group consisting of number translation, calling name delivery, and local number portability.