# Patent

## Title
CCXML/Voice XML browser to implement an AIN intelligent peripheral with call handling functionality

## Abstract

A method and structure for the invention forwards a request for voice instructions from the XML browser to a call control protocol to CCXML/Voice XML converter. The invention converts the request for voice instructions to the call control protocol using the converter and forwards the request for voice instructions from the converter to the control point. The control point returns voice instructions to the converter, and the converter, in turn, converts the voice instructions from the call control protocol to CCXML/Voice XML. This process next returns voice instructions from the converter to the CCXML/Voice XML browser and the XML browser executes the voice instructions using the XML browser. Then, the invention runs an application on a CCXML application server connected to said CCXML/Voice XML browser.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention generally comprises a system for providing a voice dialogue in a telephone network and more particularly to a system that includes a voice markup language browser having a call control application server connected to the switching points.
2. Description of the Related Art
In order to provide enhanced telephone services, many telephone companies now implement a telephone communications network as an Advanced Intelligent Network (AIN) which has made it easier to provide a wide array of previously unavailable carrier-grade telephone service features. In an AIN system, as a signal switching point (SSP) detects one of a number of call processing events identified as AIN “triggers.” An SSP which detects a trigger suspends processing of the call which activated the trigger, compiles a call data message and forwards that message via a common channel interoffice signaling (CCIS) link to a database system, such as a Service Control Point (SCP). The SCP may be implemented as part of an intelligent service control point (ISCP). If needed, the SCP can instruct the central office (SSP) at which the AIN trigger was activated to obtain and forward additional information, e.g., information relating to the call. Once sufficient information about the call has reached the ISCP, the ISCP accesses stored call processing information or records (CPRs) to generate, from the received message data, a call control message. The call control message is then used to instruct the central office on how to process the call which activated the AIN trigger.
As part of the call control message, an ISCP can instruct the central office to send the call to an outside resource, such as an intelligent peripheral (IP) using a send to outside resource (STOR) instruction. IPs are frequently coupled to SSPs to provide message announcement capabilities, voice recognition capabilities and other functionality which is not normally provided by the central office. The control message is normally communicated from the ISCP to the SSP handling the call via the CCIS link. Once received, the SCP completes the call in accordance with the instructions received in the control message (see U.S. Pat. No. 6,690,772, incorporated herein by reference).
SUMMARY OF THE INVENTION
In its most basic form, this disclosure presents a method of providing a voice dialogue in a telephone network that includes initiating a telephone call, routing the telephone call to a voice processor based upon a call control protocol, and converting the call control protocol to a call control extensible markup language and/or to a voice extensible markup language. More specifically, this process first directs a telephone call to a switch. The switch requests routing instructions from a control point and routes the telephone call to a call control extensible markup language/voice extensible markup language (CCXML/Voice XML) browser according to the routing instructions. Next, the invention forwards a request for voice instructions from the XML browser to a call control protocol to CCXML/Voice XML converter. The invention converts the request for voice instructions to the call control protocol using the converter and forwards the request for voice instructions from the converter to the control point. The control point returns voice instructions to the converter, and the converter, in turn, converts the voice instructions from the call control protocol to CCXML/Voice XML. This process next returns voice instructions from the converter to the CCXML/Voice XML browser and the XML browser executes the voice instructions using the XML browser. Then, the invention runs an application on a CCXML application server connected to the CCXML/Voice XML browser.
Thus, the voice processor (browser and converter) provides voice communications between a telephone user and a machine. Note that the call control protocol may not be publicly (or widely) available, while the voice extensible markup language is publicly available.
The inventive system for providing such a voice dialogue in a telephone network comprises a switching point connected to a communication device, a service control point connected to the switching point, a voice processor connected to the service control point and to the switching point, and a call control application server connected to the voice processor. The voice processor communicates with the service control point using a call control protocol. The voice processor comprises a voice markup language browser connected to the switching point and to the call control application server, and a converter connected to the service control point and the voice markup language browser. The converter is adapted to convert the call control protocol to a call control extensible markup language and to a voice extensible markup language. The service control point is connected to the switching point over an advanced intelligent network. Therefore, the CCXML/Voice XML browser comprises an intelligent peripheral.
These, and other, aspects and objects of the present invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, while indicating preferred embodiments of the present invention and numerous specific details thereof, is given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the present invention without departing from the spirit thereof, and the invention includes all such modifications.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood from the following detailed description with reference to the drawings, in which:
FIG. 1 is a schematic diagram of a telephone system;
FIG. 2 is a schematic diagram of a telephone system;
FIG. 3 is a schematic diagram of the converter shown in FIG. 2;
FIG. 4 is a flowchart diagram illustrating one aspect of the invention; and
FIG. 5 is a flowchart diagram illustrating one aspect of the invention.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
The present invention and the various features and advantageous details thereof are explained more fully with reference to the nonlimiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the present invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the invention. Accordingly, the examples should not be construed as limiting the scope of the invention.
The disclosure explains how to implement an IP (Intelligent Peripheral) using a standard CCXML/Voice XML browser. In the AIN (Advanced Intelligent Network) architecture shown in FIG. 1, an IP 104 connects to an SCP (Service Control Point) 102 using a proprietary call control protocol, such as SR-3511 (as defined by Telcordia, Piscataway, N.J., USA). In the past, IPs were specialized pieces of equipment available from the few vendors that had AIN expertise. The invention includes a proprietary call control protocol to CCXML/Voice XML converter that allows a standard CCXML/Voice XML browser to be used as an IP. The IP can then be implemented using standard equipment from vendors that do not implement proprietary call control protocol and do not have AIN expertise.
More specifically, FIG. 1 is a block diagram that schematically illustrates a wired or wireless communication device 106 in a telephone network that is configured for provision of IN services. While the communication device 106 shown in the drawings is a telephone, the invention is applicable to any device capable of voice communication, including but not limited to cellular phones, land line phones, wireless phones, voice enabled personal digital assistants (PDAs), voice enabled computers, etc. The telephone is directly or indirectly connected to a signal switching point 100, receiving signaling and voice communications from the communication device 106, and transferring the communications to other network elements in order to complete and carry out calls made by or to communication device 106.
The signal switching point 100 provides basic switching capabilities, including the means to establish, manipulate and release calls and connections. When signaling passing through the signal switching point 100 is related to an IN service, the call is suspended temporarily and control of the call is passed to the service control point (SCP) 102. Communications between SSP 100 and SCP 102 are based on a standard IN Application Protocol (INAP). The SCP 102 processes the call, and then sends instructions back via INAP to SSP 100 as to how the call should be handled.
One basic idea of IN is to move intelligent services out of the network switches to separate service points, such as SCP 102. Multiple SCPs may communicate with a given signal switching point, or the switch can be programmed to choose the SCP for each call depending on the trigger parameters. Similarly, a single SCP can communicate with and service multiple SSPs (although not all the switches in a network are necessarily IN-enabled). The unified IN architecture allows different service providers to create SCPs and IPs that implement their own particular services, independent of the underlying network technology.
For example, assuming SCP 102 is responsible for provision of telephone voice playback/data acquisition related services, the signal switching point 100 will refer calls to the SCP 102, which analyzes the calls using its own service logic and then returns instructions to the SSP 100 to forward the voice playback/data acquisition related calls to the intelligent peripheral 104. The IP 104 functions could include, for example, playing prerecorded or synthesized voice responses to the communication device 106, or capturing voice responses, Dual Tone Multi-Frequency (“DTMF”) responses, etc. from the communication device 106. These IP functions are usually controlled by commands from the SCP 102 using a proprietary call control protocol, such as SR-3511 (Telcordia).
However, because the intelligent peripheral performs its logical operations under a proprietary call control protocol that is highly specialized with respect to the advanced intelligent network, those who are not trained with respect to the nuances of advanced intelligent networks, as well as those who do not have access to the privately held proprietary call control protocol will not be able to design an intelligent peripheral. In other words, because the system shown in FIG. 1 requires that the designer of the intelligent peripheral be fluent with the proprietary call control protocol as well as advanced intelligent networks, the number of providers of such intelligent peripherals is substantially limited.
Therefore, the invention provides the proprietary call control protocol to call control extensible markup language/voice extensible markup language (CCXML/Voice XML) converter 202 and Voice XML call control application server 206, shown in FIG. 2. The proprietary call control protocol to CCXML/Voice XML converter is designed to communicate with the service control point 102 using the proprietary call control 202 protocol and to communicate with the CCXML/Voice XML browser 200 using CCXML/Voice XML protocol. The details of the proprietary call control protocol to CCXML/Voice XML converter 202 are shown in FIG. 3. The Voice XML call control application server 206 provides applications that require multiple legs, multiple dialogs, conferencing or other advanced call control functionality.
This invention provides for implementation of the AIN Play Application instruction. It is not feasible to accomplish this using Voice XML alone; CCXML is also required. However, if Play Application or other features, such as multiple simultaneous outdialing are not required, a Voice XML browser is sufficient as described in CHA92003032US1.
The combination of the CCXML/Voice XML browser 200 and the proprietary call control protocol to CCXML/Voice XML converter 202 creates a voice processor 204 that allows any voice command passing from the signal switching point 100 to be properly communicated with the service control point 102 even though the service control point operates under the proprietary call control protocol.
More specifically, as shown in FIG. 3, the proprietary call control protocol to CCXML/Voice XML converter 202 includes the following logical components. The Advanced Intelligent Network Session Coordinator 306 receives a request for CCXML via the HTTP Server 302, which it translates into a Provide Instruction request to the SCP. When the SCP responds, the Call Control Protocol to CCXML Translator 300 is used to build a CCXML page that is returned to the CCXML/Voice XML browser via the HTTP server. This first CCXML page includes instructions necessary to implement the particular application indicated by the Play Application response, typically including starting one or more Voice XML dialogs and other CCXML applications. Thus, the initial CCXML request is typically followed by further HTTP requests for Voice XML and CCXML pages to fulfill the entire application. The Advanced Intelligent Network Session Coordinator retains session knowledge and responds to these subsequent requests an appropriate, using the Call Control Protocol to CCXML Translator 300 and the Call Control Protocol to Voice XML Translator 308. The final application result is communicated via a HTTP request built into the CCXML page and this is translated into a Play Application response by the Advanced Intelligent Network Session Coordinator 306 and sent to the SCP.
The structure shown in FIG. 2 allows the intelligent peripheral to be manufactured as a CCXML/Voice XML browser. Therefore, one who is not skilled in the art of advanced intelligent networks and/or one who does not have access to the (sometimes privately held) proprietary call control protocol can still create an intelligent peripheral with the invention. This occurs because the proprietary call control protocol to CCXML/Voice XML converter 202 provides a conventional CCXML/Voice XML interface and operates in the well known and publicly available CCXML/Voice XML protocol. Thus, the invention allows substantially more individuals and companies to create intelligent peripherals for use with advanced intelligent networks than was previously possible. This, in turn, increases the diversity of intelligent peripherals that are provided and decreases the cost of the intelligent peripherals.
The call flow shown in FIG. 4 illustrates one example of how a call can be processed with the invention. More specifically, a call is first routed by the service provider to an SSP 100. The SSP 100 requests an SCP 102 to complete the call (first arrow in FIG. 4). The SCP 102 instructs the SSP 100 to route the call to the IP 200 (second arrow in FIG. 4). The CCXML/Voice XML browser intelligent peripheral 200 receives the call (third arrow in FIG. 4). The CCXML/Voice XML browser 200 does not need to do any special call processing, it just requests CCXML/Voice XML from a HTTP Server 302 in the proprietary call control protocol to CCXML/Voice XML converter 202 (HTTP request for a XML in FIG. 4). In this case, the proprietary call control protocol to CCXML/Voice XML converter 202 acts as the HTTP Server. The converter receives the request for CCXML/Voice XML and issues a proprietary call control protocol request for instructions to the SCP 102 (SR-3511 provide instruction in FIG. 4). When the SCP 102 responds (with, for example, a SR-3511 instruction to play an announcement and collected digits in FIG. 4), the proprietary call control protocol to CCXML/Voice XML converter 202 calls a CCXML application containing a voice XML dialog (the CCXML app containing Voice XML dialogstart, in FIG. 4). In response, the CCXML/Voice XML browser 200 returns a hypertext transfer protocol (HTTP) request for a voice XML command to the CCXML/Voice XML converter 202 (the HTTP Request for Voice XML in FIG. 4).
In response, the proprietary call control protocol to CCXML/Voice XML converter 202 returns an instruction to generate a Voice XML containing announcement and DTMF grammar, (for example, Voice XML containing announcement and DTMF grammar in FIG. 4), based on the instructions specified by the SCP 102. The CCXML/Voice XML browser 200 executes the CCXML/Voice XML instruction (play audio announcement in FIG. 4). The signal switching point 100 responds to the audio announcement (for example, the caller presses the DTMF keys in FIG. 4). The CCXML/Voice XML browser 200 returns this result to the proprietary call control protocol to CCXML/Voice XML converter 202, which in turn forwards the result to the SCP 102.
The SCP 102 then returns an instruction to play an application (again in the proprietary call control language) as indicated by the SR-3511 PlayApp shown in FIG. 4. The proprietary call control protocol to CCXML/Voice XML converter then converts this instruction to a CCXML command to invoke a given application on the Voice XML call control application server 206 (CCXML app to invoke PlayApp in FIG. 4) and the CCXML/Voice XML browser 200 creates a HTTP page to forward the CCXML command to the Voice XML call control application server 206 (HTTP request for CCXML PlayApp in FIG. 4). The Voice XML call control application server 206 then returns the application (CCXML PlayApp in FIG. 4) to the CCXML/Voice XML browser 200 which executes the application (Execute PlayApp in FIG. 4).
After playing the application, the CCXML/Voice XML browser 200 places a HTTP request to the Voice XML call control application server 206 for the result of the application to be placed in the voice extensible markup language (HTTP Request for Voice XML in FIG. 4) and the Voice XML call control application server 206 returns the application results in voice extensible markup language (VoiceXML in FIG. 4). At this point, the playing of the application is complete (PlayApp Complete in FIG. 4). The CCXML/Voice XML browser 200 then makes a request for more CCXML instructions and includes the application play results (HTTP Request for more CCXML (contains PlayApp result) in FIG. 4). In turn, the proprietary call control protocol to CCXML/Voice XML converter 202 converts the result to the proprietary call control protocol and forwards the same to the SCP 102. The SCP then returns processing to see whether additional instructions are to be issued by the SCP. Thus, the CCXML/Voice XML browser acts just as it would in executing any standard CCXML/Voice XML, but in effect is executing the instructions from the SCP and is acting as an IP.
While the SR-3511 protocol is used in the example shown in FIG. 4, the invention is not limited to this protocol and instead is applicable to any protocol that is not publicly available or widely understood. In addition, while a CCXML/Voice XML protocol and browser are discussed above, the invention is not limited to these specific protocols. Instead, the invention is broadly applicable to all advanced intelligent networks used for communication that involve a highly specialized or secretly held protocol. Through the use of the inventive converter, the invention converts the private protocol to a public protocol to allow standard devices (such as the CCXML/Voice XML browser 200 to be used). The inventive architecture allows a standard CCXML/Voice XML browser 200 to be used as an IP through the use of an SR-3511 to CCXML/Voice XML Converter 202.
FIG. 5 shows the invention in flowchart form. More specifically, in item 500 a telephone call is initiated. In item 502, the telephone call is directed to a switch. The switch requests routing instructions from a control point (504) and routes the telephone call to a call control extensible markup language/voice extensible markup language (CCXML/Voice XML) browser (506) according to the routing instructions. Next, the invention forwards a request for voice instructions (508) from the XML browser to a call control protocol to CCXML/Voice XML converter. The invention converts the request for voice instructions to the call control protocol (510) using the converter and forwards the request for voice instructions from the converter to the control point (512). The control point returns voice instructions to the converter (514), and the converter, in turn, converts the voice instructions from the call control protocol to CCXML/Voice XML (516). This process next returns voice instructions from the converter to the CCXML/Voice XML browser (518) and the XML browser executes the voice instructions (520) using the XML browser. Then, the invention runs an application on a CCXML application server (522) connected to the CCXML/Voice XML browser.
The inventive architecture builds on open and standard technology that is widely available. CCXML/Voice XML is used in many different voice solutions and is used across industries as opposed to SR-3511, which is only used in the AIN environment. Thus, the invention lowers the cost of the technology and allows for a broader selection of vendors to be used. Also, since the IP in the proposed architecture is based on CCXML/Voice XML, extensions to the proprietary call control protocol, can use the features available in CCXML/Voice XML in addition to what is defined in the proprietary call control protocol. This has the added advantage that these extensions are in a standard language and could be used by multiple CCXML/Voice XML browser vendors and in multiple AIN implementations.
The invention allows full implementation of SR-3511 including Play Application. Other environments that could be used are voice and call control markup languages, such as SALT, or other voice and call control platforms such as VRUs.
While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.

## Claims

1. A method of providing a voice dialogue in a telephone network, said method comprising:
directing a telephone call to a switch;
requesting, by said switch, routing instructions from a control point;
routing said telephone call to at least one of a Call Control Extensible Markup Language and a Voice Extensible Markup Language (CCXML/Voice XML) browser according to said routing instructions;
forwarding a request for voice instructions from said CCXML/Voice XML browser to a call control protocol to CCXML/Voice XML converter;
converting said request for voice instructions to said call control protocol using said converter;
forwarding said request for voice instructions from said converter to said control point;
returning voice instructions from said control point to said converter;
converting said voice instructions from said call control protocol to said CCXML/Voice XML;
returning voice instructions from said converter to said CCXML/Voice XML browser;
executing said voice instructions using said CCXML/Voice XML browser; and
running an application on a CCXML/Voice XML application server connected to said CCXML/Voice XML browser.

2. The method in claim 1, wherein said converting process comprises using a Hypertext Transfer Protocol (HTTP) server junction.

3. The method in claim 1, wherein said converting process comprises using an Advanced Intelligent Network Session Controller.

4. The method in claim 1, wherein said converting process comprises using a CCXML converter and a XML converter.

5. The method in claim 1, wherein said CCXML/Voice XML browser and said call control protocol to CCXML/Voice XML converter provides voice communications between a telephone user and a machine.

6. The method in claim 1, wherein said routing process routes said telephone call to a voice extensible markup language browser and said converting process is performed by a converter connected to said browser.

7. The method in claim 1, wherein said call control protocol is not publicly available and said voice extensible markup language is publicly available.