A request is received from a communications device to execute an interaction site. A request is transmitted to the automated response system. First instructions that provide one or more steps of the multi-step communication flow between the communications device and the automated response system are received from the automated response system. In response to determining that the request is for the voice-interaction with the interaction site, second instructions that provide the one or more steps through a voice interaction with a user of the communications device are determined and transmitted to the communications device. In response to determining that the request is for the visual-interaction with the interaction site, third instructions that provide the one or more steps through a visual interaction with the user of the communications device are determined and transmitted to the communications device.
|
20. A non-transitory computer-readable storage device storing instructions that when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, from a communications device, a request to execute an interaction site for enabling communications to be exchanged between an automated response system and the communications device, wherein the interaction site specifies a multi-step communication flow between the communications device and the automated response system;
transmitting, to the automated response system, a request to execute the interaction site;
receiving, from the automated response system, first instructions that, when executed, provide one or more steps of the multi-step communication flow between the communications device and the automated response system;
determining whether the request from the communications device is for a voice-interaction with the interaction site or a visual-interaction with the interaction site;
in response to determining that the request from the communications device is for the voice-interaction with the interaction site:
determining, based on the first instructions, second instructions that, when executed by the communications device, provide the one or more steps through a voice interaction with a user of the communications device; and
transmitting, to the communications device, the second instructions; and
in response to determining that the request from the communications device is for the visual-interaction with the interaction site:
determining, based on the first instructions, third instructions that, when executed by the communications device, provide the one or more steps through a visual interaction with the user of the communications device; and,
transmitting, to the communications device, the third instructions.
11. A system, comprising:
one or more processors and one or more non-transitory computer-readable storage devices storing instructions that when executed by the one or more processors cause the one or more processors to perform operations comprising:
receiving, from a communications device, a request to execute an interaction site for enabling communications to be exchanged between an automated response system and the communications device, wherein the interaction site specifies a multi-step communication flow between the communications device and the automated response system;
transmitting, to the automated response system, a request to execute the interaction site;
receiving, from the automated response system, first instructions that, when executed, provide one or more steps of the multi-step communication flow between the communications device and the automated response system;
determining whether the request from the communications device is for a voice-interaction with the interaction site or a visual-interaction with the interaction site;
in response to determining that the request from the communications device is for the voice-interaction with the interaction site:
determining, based on the first instructions, second instructions that, when executed by the communications device, provide the one or more steps through a voice interaction with a user of the communications device; and
transmitting, to the communications device, the second instructions; and
in response to determining that the request from the communications device is for the visual-interaction with the interaction site:
determining, based on the first instructions, third instructions that, when executed by the communications device, provide the one or more steps through a visual interaction with the user of the communications device; and,
transmitting, to the communications device, the third instructions.
1. A computer-implemented method, comprising:
receiving, by an application server and from a communications device, a request to execute an interaction site for enabling communications to be exchanged between an automated response system and the communications device, wherein the interaction site specifies a multi-step communication flow between the communications device and the automated response system;
transmitting, from the application server and to the automated response system, a request to execute the interaction site;
receiving, by the application server and from the automated response system, first instructions that, when executed, provide one or more steps of the multi-step communication flow between the communications device and the automated response system;
determining, by the application server, whether the request from the communications device is for a voice-interaction with the interaction site or a visual-interaction with the interaction site;
in response to determining that the request from the communications device is for the voice-interaction with the interaction site:
determining, by the application server and based on the first instructions, second instructions that, when executed by the communications device, provide the one or more steps through a voice interaction with a user of the communications device; and
transmitting, from the application server and to the communications device, the second instructions; and
in response to determining that the request from the communications device is for the visual-interaction with the interaction site:
determining, by the application server and based on the first instructions, third instructions that, when executed by the communications device, provide the one or more steps through a visual interaction with the user of the communications device; and,
transmitting, from the application server and to the communications device, the third instructions.
2. The method of
3. The method of
determining whether the request is received from a voice channel or a data channel;
in response to determining that the request is received from the voice channel, determining that the request is for the voice-interaction with the interaction site; and
in response to determining that the request is received from the data channel, determining that the request is for the visual-interaction with the interaction site.
4. The method of
determining that the request is based on hypertext markup language (HTML); and
in response to determining that the request is based on HTML, determining that the request from the communications device is for the visual-interaction with the interaction site.
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
12. The system of
13. The system of
determining whether the request is received from a voice channel or a data channel;
in response to determining that the request is received from the voice channel, determining that the request is for the voice-interaction with the interaction site; and
in response to determining that the request is received from the data channel, determining that the request is for the visual-interaction with the interaction site.
14. The system of
determining that the request is based on hypertext markup language (HTML); and
in response to determining that the request is based on HTML, determining that the request from the communications device is for the visual-interaction with the interaction site.
15. The system of
16. The system of
17. The system of
18. The system of
19. The system of
|
The following disclosure relates generally to the development and delivery of a multi-channel interaction application. A user may use a personal communications device to contact a company to discuss a service or a product provided by the company. The user may contact the company by establishing electronic communications with the company over a voice channel or a data channel.
In a general aspect, a request is received by an application server and from a communications device to execute an interaction site for enabling communications to be exchanged between an automated response system and the communications device, where the interaction site specifies a multi-step communication flow between the communications device and the automated response system. A request to execute the interaction site is transmitted from the application server to the automated response system. First instructions that, when executed, provide one or more steps of the multi-step communication flow between the communications device and the automated response system are received from the automated response system by the application server. Whether the request from the communications device is for a voice-interaction with the interaction site or a visual-interaction with the interaction site is determined by the application server. In response to determining that the request from the communications device is for the voice-interaction with the interaction site, second instructions that, when executed by the communications device, provide the one or more steps through a voice interaction with a user of the communications device are determined by the application server based on the first instructions. The second instructions are transmitted from the application server to the communications device. In response to determining that the request from the communications device is for the visual-interaction with the interaction site, Third instructions that, when executed by the communications device, provide the one or more steps through a visual interaction with the user of the communications device are determined by the application server based on the first instructions. The third instructions are transmitted from the application server to the communications device.
Implementations may include one or more of the following features. To transmit, from the application server and to the automated response system, the request to execute the interaction site, an indication that indicates whether the request from the communications device is for the voice-interaction with the interaction site or the visual-interaction with interaction site may be transmitted to the automated response system.
To determine whether the request from the communications device is for the voice-interaction with the interaction site or the visual-interaction with the interaction site, whether the request is received from a voice channel or a data channel may be determined. In response to determining that the request is received from the voice channel, the request is for the voice-interaction with the interaction site may be determined. In response to determining that the request is received from the data channel, the request is for the visual-interaction with the interaction site may be determined.
To determine whether the request from the communications device is for the voice-interaction with the interaction site or the visual-interaction with the interaction site, whether the request is based on hypertext markup language (HTML) may be determined. In response to determining that the request is based on HTML, the request from the communications device is for the visual-interaction with the interaction site may be determined.
Data representing a communication between the communications device and the automated response system may be stored, where the data may include an indication of whether the communication is visual. The interaction site may be associated with one or more interaction pages, where each interaction page may represent a respective step of the multi-step communication flow, and where the one or more voice interaction may be configured by a user of a content provider device through interactions with a development interface to include values for (i) one or more parameters associated with the voice-interaction with the interaction site, (ii) one or more parameters associated with the visual-interaction with the interaction site, and (iii) one or more parameters associated with both the voice-interaction and the visual-interaction with the interaction site. The second instructions may not include instructions generated using the values for the one or more parameters associated with the visual-interaction with the interaction site. The third instructions may not include instructions generated using the values for the one or more parameters associated with the voice-interaction with the interaction site.
The first instructions may be based on state chart extensible markup language (SCXML) or VoiceXML. The second instructions may based on voice extensible markup language (VoiceXML). The third instructions may be based on HTML5. The automated response system may be an interactive voice response system.
In another general aspect, a system includes one or more processors and one or more non-transitory computer-readable storage devices storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including receiving, from a communications device, a request to execute an interaction site for enabling communications to be exchanged between an automated response system and the communications device, where the interaction site specifies a multi-step communication flow between the communications device and the automated response system; transmitting, to the automated response system, a request to execute the interaction site; receiving, from the automated response system, first instructions that, when executed, provide one or more steps of the multi-step communication flow between the communications device and the automated response system; determining whether the request from the communications device is for a voice-interaction with the interaction site or a visual-interaction with the interaction site; in response to determining that the request from the communications device is for the voice-interaction with the interaction site: determining, based on the first instructions, second instructions that, when executed by the communications device, provide the one or more steps through a voice interaction with a user of the communications device; and transmitting, to the communications device, the second instructions; and in response to determining that the request from the communications device is for the visual-interaction with the interaction site: determining, based on the first instructions, third instructions that, when executed by the communications device, provide the one or more steps through a visual interaction with the user of the communications device; and, transmitting, to the communications device, the third instructions.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other potential features and advantages will become apparent from the description, the drawings, and the claims.
A company may wish to enable its customers to contact it through use of any of multiple different communications channels (e.g., phone, email, chat, SMS or another communications channel that support communications between a customer and a service/product provider). To save costs, the company may wish to interact with the customers, at least initially, using an automated response system. Use of such an automated response system may decrease the costs associated with responding to customer contacts by decreasing the number of human agents that need to be employed to respond to the customer contacts. Many customer contacts are for routine inquiries (e.g., a customer contacts the company to check the balance of a checking account or of a credit card) and, therefore, lend themselves well to being efficiently and cost-effectively handled through use of an automated response system. In contrast, more complex customer contacts, which are typically far fewer in number, may be routed to human agents for handling.
The interaction between a customer and an automated response system may be designed by a content provider offering the service using an interaction flow that segments the interaction into multiple discrete steps. For example, when a customer dials a company's telephone number to pay a bill, a voice interaction flow may include the steps of (i) acquiring the customer's account number, (ii) informing the customer of a current balance, (iii) acquiring the customer's payment information, (iv) processing payment, and (v) conducting a customer satisfaction survey. An interactive voice response system (IVR) is an example automated response system that supports a voice-based interaction between a user operating a telephonic device and a third party automated application, where the user interacts with the third party automated application following the multi-step interaction flow that both provides and collects information to and from the user using voice communications with the IVR.
Many advanced telephonic devices (e.g., smart phones) include functionalities that support visual interactions with users. For example, a smart phone may display information to a user on a display using a scripting language such as HTML5. As another example, a touchscreen of a smart phone may allow a user to navigate through content by touching the touchscreen. As another example, a smart phone may allow a user to input text information as an alternative of using voice. Given that some users may wish to visually interact with a third party automated application instead of using voice, having an automated response system that can enable both voice and visual interactions with users using a same interaction flow may be useful. A visual IVR (VIVR) system may be implemented to process a multi-step interaction according to its current state, where the processing is independent of whether the interaction is a visual interaction or a voice interaction. Notably, a visual IVR is an ARS that is able to support voice only and visual only applications, and also a mixed voice-visual application.
More specifically, a user of a particular product or service provided by a company may need to contact customer service for the product or service to troubleshoot a problem the user is experiencing in using the product or service. In order to contact the customer service and obtain a solution to the problem, the user may use a smart phone to call a known customer service number for the product or service. By calling the customer service number, the user may get connected to a call handling system that enables the user to have a voice interaction with a voice site associated with the product or service according to an interaction flow. Alternatively, the user may initiate a visual interaction with the voice site using a client-side application running on the smart phone, where the voice site may be accessed by entering a uniform resource identifier (URL) in the client-side application. By entering the URL, the user may get connected to the call handling system that enables the user to have a visual interaction with the voice site associated with the product or service according to the same interaction flow. End user has option to go through automated service either through voice or mobile web channel or both at the same time.
A voice site is a set of scripts or, more generally, programming language modules corresponding to one or more linked pages that collectively interoperate to produce an automated interactive experience with a user. A standard voice site includes scripts or programming language modules corresponding to at least one voice page and limits the interaction with the user to an audio communications mode. Because customers typically access a voice site by calling a telephone number using a telephone, a standard voice site is typically referred to as a single channel interaction site, i.e., an interaction site that supports a single type of contact. A VIVR enables customers to visually interact with the voice site by entering a URL on a telephonic device, and thus the standard voice site may be expanded into a multi-channel interaction site.
The voice site accessed by the user may be an automated interactive voice site that is configured to process, using pre-programmed scripts, information received from the user that is input through the telephonic device being used by the user, and, in response, provide information to the user that is conveyed to the user through the telephonic device. The interaction between the user and the voice site may be done using a VIVR provided by a service provider that is hosting the voice site and an application server that acts as a gateway between the telephonic device and the VIVR.
For either a voice interaction or a visual interaction, the VIVR may be configured to support commands and information using scripts that are pre-programmed for the voice site, for example, voice-extensible markup language (VoiceXML) scripts or state chart XML (SCXML) scripts. In a voice interaction, the VIVR interacts with the user by using audible commands to prompt the user to provide information and enabling the user to input the information by speaking into the telephonic device or by pressing buttons on the telephonic device (when using, for example, a touch-tone telephone). The information input by the user is conveyed to the VIVR over a voice communications session that is established between the telephonic device and the IVR when the call is connected, with the application server as a gateway. Upon receiving the information, the VIVR processes the information using the pre-programmed scripts. The VIVR may be configured to send audible responses back to the user via the telephonic device.
In a visual interaction, scripts that are pre-programmed for the voice site may be translated by an application server into a different programming or scripting language (e.g., HTML5) such that the translated scripts may be visually presented to the user using a client-side application running on the telephonic device. The VIVR interacts with the user by using visual commands to prompt the user to provide information and enabling the user to input the information by entering text and numbers using the telephonic device. The information input by the user is translated by the application server and conveyed to the VIVR over a data communications session that is established between the telephonic device and the VIVR, with the application server as a gateway. Upon receiving the information, the VIVR processes the information using the pre-programmed scripts. Notably, the processing of the information by the VIVR may be the same regardless whether it is a voice interaction or a visual interaction. This also allows customers to switch from one channel, say voice, to another channel (mobile web like HTML5) without losing context.
Distinguishable from a visual presentation of a standard voice site, an enhanced voice site may include scripts or programming language modules corresponding to at least one voice page and at least one multimodal action page linked to the at least one voice page that enable interaction with the user to occur via an audio communications mode and at least one additional communications mode (e.g., a text communications mode, an image communications mode or a video communications mode). For example, a customer may call a contact center from a smart phone and may be placed on hold in a queue. If the wait time exceeds a threshold, the voice site may offer a hyperlink visually to the customer via the smart phone, where the customer may click on the hyperlink to schedule a call back. As another example, a customer may call a contact center to schedule an appointment, where a voice site may enable visual interaction with the user by showing a calendar for making the appointment. As another example, during a voice call with a customer, an agent may offer visual assistance to the customer by pushing through SMS, email, or a push notification of a session to a calendar on the customer's smart phone. As another example, upon completion of an interaction with a voice site, a customer may receive a call back from the interactive voice response system for a survey of the experience, where a link may be provided to the customer via the smart phone to allow the customer to visually rate the experience with the voice site. An enhanced voice site may, therefore, be referred to as a voice site that has been enhanced to enable some portions of the interaction flow to involve the communication of multimedia information. In some implementations, an enhanced voice site may be configured to support multimedia information including audio, video, images and text. Notably, the voice pages in an enhanced voice site may be accessed as either a voice interaction or a visual interaction using VIVR.
A voice site may be hosted by a third party service provider that facilitates the creation and hosting of voice sites, or more generally, interaction sites on servers owned and operated by the service provider. An interaction site may be a set of scripts or programming modules that offer a common interaction flow for handling contacts received over different channels. The set of scripts or programming modules may then be translated by an interaction flow processor into a corresponding set of channel-specific scripts or programming modules for each channel supported by the interaction site, and these translated channel-specific scripts or programming modules may then be executed by the respective sub-systems of the multi-channel communications system to enable automated interactions with users over the different channels. For example, the pre-programmed scripts of the interaction site may be extensible markup language (XML) scripts. If the user accesses the multi-channel communications system by using a telephone to call a telephone number associated with the interaction site, the interaction flow processor may translate the XML scripts of the interaction site to VoiceXML scripts for processing by an IVR to interact with the calling user.
The service provider may provide a service/method that enables the design, development, and hosting of VIVR-enabled interaction sites or applications that run a thin client on the communications device that interacts with a fully hosted, on-demand interaction solution platform maintained and managed by the service provider. The service/method provides a way to develop VIVR-enabled voice site that is supported by a VIVR system (the server side) and allows a voice or visual interaction between the client and the server to be established. In some implementations, the service/method may require an installation of a thin client engine (e.g., an application) on the communications device of the user that mediates between the objects and devices in the communications device and the multi-channel communications system supporting the interaction site hosted by the service provider.
In the above scenario, the role of the entity providing customer service through the interaction site is that of a content provider. The developer of the entity/company (hereinafter referred to interchangeably as the “content provider”) configures the interaction site that is to be used for the particular product or service and provides the logic for the interaction site that is to be executed by the multi-channel communications system. The content provider may do so by using a graphical user interface (GUI) provided by the third party service provider for configuring the interaction site. The service provider handles the interpretation and compilation of the information provided by the content provider, and the creation and hosting of the interaction site based on the information. Since the service provider manages the multi-channel communications system, the service provider may allow the content provider to develop the interaction site using one unified GUI interface, where the interaction site is executable by the user via any one or more of multiple different communications channels.
The service/method thus enables the deployment of interaction-enabled solutions on communications devices without requiring the content provider to engage in complex programming. Applications, or interaction sites, may be designed by the content provider using a web-based or remotely accessible interface, and served on demand to clients. In some implementations, clients can be add-ons that smart phone applications can plug into. In some implementations, the service/method enable users to interact with a VIVR application. The VIVR application enables users to contact and interact with a VIVR-enabled voice site via a voice channel or a data channel.
In some implementations, the request for the service or product may be directed to an application server 140 of a handling system 150. The application server 140 may forward the request to a VIVR system 152 of the call handling system 150, and an interaction site may be invoked, where the VIVR system 152 communicates with the communications device 110 through the application server 140 to provide the requested service. As mentioned previously, an interaction site may be hosted by a third party service provider that facilitates the creation and hosting of interaction sites on servers owned and operated by the service provider. Depending on the communications means that a user uses to access the VIVR-enabled interaction site, the application server 140 may process the communications between the VIVR system 152 and the communications device 110 according to the communications means to process the request. For example, a call handling system may present the interaction site to the user using voice messages that are generated by VoiceXML scripts. If the interaction is a visual one, the application server 140 may translate the voice messages into corresponding messages in a different scripting or programming language (e.g., HTML5), so the corresponding messages may be displayed on the communications device 110. It also allows to offer additional contents like graphics, video as well as audio to the users which are not supported over IVR. This not only complements the IVR functionality as well as extends it.
In many applications, the flow for providing a service to the user includes the same steps regardless of which communications form the user is using. From a content provider's perspective, it is a burden to require developing a VIVR-enabled interaction site for each of the communications forms (e.g., a voice interaction or a visual interaction) using different tools or scripting languages. From a service provider's perspective, the storage and management of a VIVR-enabled interaction site having different versions for each of the communications form may be complicated. Accordingly, a communications system that can integrate the development of a VIVR-enabled interaction site for each of the communications forms using one development platform, and compile the developed interaction site into one scripting language that can be translated based on the communications channel used by a user may enable a content provider and/or service provider to enjoy a decrease in costs associated with developing and managing interaction sites without compromising the quality of the user experience with the VIVR-enabled interaction site.
The communications system 100 is an example implementation of a system that supports an interactive VIVR application delivery platform. In general, the communications system 100 includes the communications device 110, a network 130, the call handling system 150, a content provider system 142, a data store 160, an interaction flow processor 180, an interaction flow document database 185, and an application builder 190.
The communications device 110 is configured to allow a user to interact with the call handling system 150 across the network 130. The communications device 110 may be a cellular phone or a mobile personal digital assistant (PDA) with embedded cellular phone technology. The communications device 110 may be a computer that includes one or more software or hardware applications for performing communications between the communications device 110 and the multi-channel communications system 135. For example, a web browser may be installed on the communications device 110 to allow the user to access a VIVR-enabled voice site using a URL. As another example, a mobile application that is developed by a content provider may be installed on the communications device 110 to allow the user to access a VIVR-enabled voice site of the content provider directly using the mobile application. As another example, a mobile application that is developed by a service provider may be installed on the communications device 110 to allow the user to access different VIVR-enabled voice sites of different content providers using the mobile application. The communications device 110 may have various input/output devices with which a user may interact to provide and receive audio, text, video, and other forms of data.
The network 130 may include a telephone network, a data network, or a combination of the telephone network and the data network. The telephone network may include a circuit-switched voice network, a packet-switched data network, or any other network able to carry voice data. For example, circuit-switched voice networks may include a Public Switched Telephone Network (PSTN), and packet-switched data networks may include networks based on the Internet protocol (IP) or asynchronous transfer mode (ATM), and may support voice using, for example, Voice-over-IP, Voice-over-ATM, or other comparable protocols used for voice data communications. The data network is configured to enable direct or indirect communications between the communications device 110 and the call handling system 150. Examples of the data network include the Internet, Wide Area Networks (WANs), Local Area Networks (LANs), analog or digital wired and wireless telephone networks (e.g., Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), and Digital Subscriber Line (xDSL)), radio, television, cable, satellite, and/or any other delivery or tunneling mechanism for carrying data. In some implementations, the data network and the telephone network are implemented by a single or otherwise integrated communications network configured to enable communications between the communications device 110 and the call handling system 150.
A call handling system 150 receives the request and interacts with the communications device 110 to provide the requested service through the VIVR-enabled voice site. The call handling system 150 may include a VIVR system 152 and an application server 140. In some implementations, the call handling system 150 may additionally include an agent routing system 154.
The VIVR system 152 may include a voice gateway coupled to an interaction flow processor 180 via the network 130. Alternatively, the voice gateway may be local to the interaction flow processor 180 and connected directly to the interaction flow processor 180. The voice gateway is a gateway that receives user calls from or places calls to voice communications devices, such as the communications device 110, and responds to the calls in accordance with a voice program that corresponds to a flow of an interaction site. The voice program may be accessed from local memory within the voice gateway or from the interaction flow processor 180. In some implementations, the voice gateway processes voice programs that are script-based voice applications. The voice program, therefore, may be a script written in a scripting language such as, for example, voice extensible markup language (VoiceXML), SCXML, or speech application language tags (SALT). The VIVR system 152 may also be configured to communicate with the data store 160 to read and/or write user interaction data (e.g., state variables for a data communications session) in a shared memory space.
The application server 140 is configured to establish a voice or a visual communications session between the communications device 110 and the VIVR system 152, and to receive and send data to the communications device 110 across the network 130. The application server 140 is configured to communicate with the VIVR system 152 to send data received from the communications device 110. The application server 140 also may send other application-related data that did not originate from the communications device 110 to the VIVR system 152. For example, the application server 140 may send to the VIVR system 152 data indicating whether the communications session is voice or visual. In some implementations, the application server 140 is configured to communicate with the data store 160 to read and/or write user interaction data (e.g., state variables for a data communications session) in a shared memory space. As shown in
The agent routing system 154 of the call handling system may include, among other components, an inbound call queue, an outbound call request queue, a call router, an automatic call distributor (“ACD”) administrator, and contact information of a plurality of agents. The agent routing system 154 may receive one or more calls from one or more voice communication devices, such as the communications device 110, via the network 130 and may make one or more outbound calls to voice communication devices of an agent via the network 130. The agent routing system 154 may determine an appropriate agent to route the call to or to assign an outbound call to. The determination of an appropriate agent may be based on agent skills, agent performance metrics and information known about the inbound or outbound call and the status of the agent.
The interaction flow processor 180 includes all hardware and software components that interface and provide data to the call handling system 150. In some implementations, the interaction flow processor 180 sends translated application programs or scripts to the call handling system 150 for processing user interactions with a voice site. The user interactions are analyzed by the call handling system 150 and new programs or scripts that correspond to the next state of the interaction flow may then be sent to the call handling system 150 for further processing. In some implementations, the interaction flow processor 180 may determine which programs or scripts to provide to the call handling system 150 based on some or all of the information received from the call handling system 150 or the communications device 110.
The interaction flow document database 185 stores interaction flow documents created by the application builder 190, and provides the interaction flow processor 180 access to these interaction flow documents. In some implementations, the interaction flow document database 185 may be an array of high-capacity storage drives that are closely coupled to the interaction flow processor 180. In some implementations, the interaction flow document database 185 may be an array of high-capacity storage drives that are closely coupled to the application builder 190.
The content provider system 142 is configured to allow a content provider to interact with the application builder 190 across the network 130. The content provider system 142 may be a cellular phone or a mobile personal digital assistant (PDA) with embedded cellular phone technology. The content provider system 142 may be a computer that includes one or more software or hardware applications for performing communications between content provider system 142 and the application builder 190. The content provider system 142 may have various input/output devices with which a content provider may interact to provide and receive audio, text, video, and other forms of data from the application builder 190.
The application builder 190 facilitates the creation of interaction sites that include voice sites. The application builder 190 utilizes various components to enable the creation of interaction sites. The various components of the application builder 190 may be co-located in a single physical location, or they may be geographically distributed, with dedicated high capacity links interconnecting the various components. The application builder 190 may include a content provider interface 192 and an application compiler 194.
The content provider interface 192 is a GUI front-end for an application development tool that can be used to build an interaction site that is capable of handling interactions using multiple communications channels. The content provider may access the content provider interface 192 over the network 130. For example, the content provider may use a web browser that runs on the content provider system 142. By accessing the application development tool using the content provider interface 192, the content provider may create interaction sites and interaction pages that will be used by the call handling system 150 when processing a request to the interaction site being created by the content provider. In the context of this discussion, a “page” is a discrete programming routine configured to perform a discrete function. A page may be defined by a user through an interaction with, for example, a GUI in which the user may indicate the type of programming routine for the page and may optionally further indicate one or more other pages linked to the page. Processing may then proceed to the one or more other linked pages after completion of execution of the page or, alternatively, after initiation of execution of the page but before completion of execution of the page. A page may be compiled into one or more programming language modules or scripts after the page is defined by the user through interaction with the GUI. The one or more programming language modules or scripts may be used, for example, by a handling system to execute the discrete programming routine to thereby perform the discrete function of the page. Examples of different pages include message pages, question pages, logic pages, transaction pages, and multimodal action pages. These different pages are described in further detail in issued U.S. Pat. No. 8,582,727, which is incorporated herein by reference for all purposes.
An interaction page is a particular type of page that is configured to perform the function of delivering content to and/or receiving content from a user via a communications channel used by the user to contact a multi-channel system (e.g., voice communications channel for telephone contacts, chat communications channel for chat contacts, email communications channel for email contacts, and SMS communications channel for SMS contacts). A “voice page” is a particular type of interaction page that is configured to perform the function of delivering audible content to and/or receiving audible content from a user that called a telephone number assigned to the voice site. A VIVR-enabled voice page may further provide and/or receive visual content from the user that accesses the voice site using the communications device 110.
The interaction sites and pages created by the content provider using the content provider interface 192 are interpreted and/or compiled by an application compiler 194 to generate scripts that are executed by the multi-channel communications system interacting with a user accessing the interaction site. In some implementations, the application compiler 194 may generate an interaction flow document, which may include XML scripts or code that correspond to pages (i.e., programming modules) of an interaction site created by the content provider. For example, the XML scripts may be SCXML scripts. The interaction flow document may be stored in an interaction flow document database 185. The interaction flow processor 180 may access the scripts from the interaction flow document database 185 and translate them into a language that can be processed by a particular handling system when the call handling system 150 interacts with a user accessing a voice site.
In addition to the XML scripts, the application compiler 194 may also generate other types of scripts (e.g. Java scripts) and other types of executable code using other programming languages based on pages created for the interaction site by the content provider (e.g., based on transaction pages). The other types of scripts may be used by the call handling system 150 to interact over the data network 130 with the user accessing the interaction site.
The data store 160 is configured to store user interaction data with interaction sites. In some implementations, the data store 160 may store interaction data associated with a particular user. For example, the interaction data may include the gender and other characteristics of the user, the choices made by the user during each state of the interaction, and the resources utilized during each state of the interaction. In some implementations, the data store 160 may store aggregated interaction data associated with a particular interaction site. For example, the aggregated interaction data may include data specifying a breakdown of genders among all users that accessed the particular interaction site. In some implementations, a user may opt-out such that her usage data is then not stored in the data store 160. In some implementations, a user may opt-in to have her usage data be stored in the data store 160.
When the user of communications device 110 interacts with the interaction site, the first page that is processed is identified in the “Home Page” field 201c. The content provider may specify any page that the content provider wants to be processed first as the Home Page 201c. In some implementations, the first page in the listing of pages is the same page that is listed as the “Home Page” 201c. However, in other implementations, the page that is as the “Home Page” 201c is not the first page in the listing of the pages in the Site Overview page 201.
The order in which the various pages are processed is determined by the links in the respective pages. Each page usually contains a link to the next page that is to be processed. For example, the interaction site illustrated in the Site Overview page 201 has a page flow 202 of ten interaction pages, including the interaction pages “Say Greeting”, “Account”, “Account Number”, “Set up”, “Main Select”, “Billing”, “Sales”, “Support”, “Transfer”, and “Goodbye.” Each of the pages may be identified by a page name that is shown in the Page Name field 201d. In addition or as an alternative to the page name, each page also may be identified by a page number that is shown in the Page # field 201e. The page name and page number of a page are specified by the content provider when creating the pages for the interaction site. A page may have a unique page name, or it may have a page name that is similar to the page name of another page. In case two or more pages share the same page name, they may be differentiated based on the page numbers. The combination of page name and page number uniquely identifies a page. A user may access and modify any of the pages displayed in the page flow 202 by selecting them from the displayed list. In addition, each page may be associated with a page type as shown in the Page Type field 201k. The types of pages that may be created by the content provider using the application development tool may include, for example: (1) a message page; (2) a question page; (3) a logic page; (4) a transaction page; (5) a data page; and (6) a multimodal action page. These different pages are described in further detail in issued U.S. Pat. No. 8,582,727, which is incorporated herein by reference for all purposes.
Importantly, a second page that is processed after the processing of a first page may be said to be directly linked to that first page if the first page includes a direct link to the second page without any intervening pages therebetween. Alternatively, a second page may instead be said to be indirectly linked to the first page if that first page is linked to the second page in the interaction flow with one or more pages being processed between the processing of the first page and the processing of the second page.
In other implementations, the Site Overview page 201 may additionally or alternatively present the pages in a two dimensional or three dimensional display that visually depicts the links between the pages. For example, each page may be displayed as a page graphical element, such as, for example, a rectangle or a block, with one or more link graphical elements, such as, for example, lines, connecting the page graphical elements to other page graphical elements to which they are linked. Text may be overlaid on or displayed in proximity to the page and/or line graphical elements to communicate the identity of the corresponding page and/or the nature of the link between the elements.
The content provider may create a new page by clicking the “Add Page” button icon 201f. When the “Add Page” button icon 201f is clicked, a new page is added to the page flow 202. In response to selecting the button icon 201f, the GUI 200 may present a set of page templates for selection in, for example, a drop-down list. The page templates may include, for example, message pages, question pages, logic pages, transaction pages, and multimodal action pages. The user may select a page template from the list to generate a page of the corresponding type using the template. The template presents to the user the necessary fields and/or controls for that page type and the user may populate the fields (e.g., by typing text into the fields) and/or select the controls to generate a page of the corresponding type.
Alternatively, a new page may be created by copying a previously created page. The content provider may select the page to be copied by checking the checkbox to the left of the page to be copied and then selecting the “Copy” button. An existing page can be deleted by checking the checkbox to the left of the page, and then clicking the “Delete” button. The content provider may save the interaction site by clicking the “Save” button 201j. The content provider may save the interaction site and then exit the GUI 201 by clicking the “Save & Exit” button 201g. The content provider may exit the GUI 201 without saving the interaction site by clicking the “Exit” button 201h. The content provider may compile the interaction site by clicking the “Compile” button 201i, where the application compiler 194 may compile the input parameters into an interaction flow document, and may save the interaction flow document in the interaction flow document database 185.
For the Voice IVR 206, the content provider may enter a Phone Number 206a (e.g., “1-800-123-4567”), and click the Add New Phone Number button 206b to associate the entered phone number with the interaction site. When the user of the communications device 110 enters the phone number on the communications device 110, the communications device 110 would communicate with the call handling system 150 and the interaction site would be launched, facilitating a voice interaction between the VIVR system 170 and the communications device 110.
For the Visual IVR 207, the content provider may enter a URL 207a (e.g., “www.example.com/vivr/1-800-123-4567”), and click the Add New VIVR Application button 207b to associate the entered URL with the interaction site. When the user of the communications device 110 enters the URL on the communications device 110, the communications device 110 would communicate with the call handling system 150 and the interaction site would be launched, facilitating a visual interaction between the VIVR system 170 and the communications device 110.
In the examples above, more types of communications channels may be added to the Contact page 204 depending on the requirements of the interaction sites and the capability of the multi-channel communications system 135. One or more additional parameters may be added or substituted for any of the channels in the examples above. For example, there may be multiple phone numbers (e.g., toll-free and local phone numbers) associated with the voice IVR 206.
The “Connect to” drop-down menu 212 allows the content provider to choose which of the pages in the page flow 202 to be processed when the user of communications device 110 accesses the interaction site using the information in the Contact page. In some implementations, the “Connect to” drop-down menu 212 defines the “Home Page” field 201c in
The GUI 200 further includes a display 209 that illustrates all, one or a subset (e.g., all telephone contact points or all URL contact points) of the contact points associated with the interaction site. In some implementations, the display 209 shows a list of all of the contact points assigned to the interaction site by the user through interactions with GUI 204. The display 209 may be dynamically updated in response to and as the user interacts with the GUI 204 to add or remove contact points from the display. In the example shown in
The main tab 304a of the interaction page allows the content provider to enter parameters that configure the interaction page for the IVR channel. In some implementations, some of these parameters in the GUI 301 are common for both voice and visual interactions. For example, the “Initial Prompts” parameter 304b allows the content provider to enter information that will be presented to the user independent of how the user accesses the VIVR-enabled voice site. The content provider inputs a prompt “Welcome to this test app!” in the “Initial Prompts” parameter 304c, where this prompt will be played to the user as an audio message if the interaction is voice, or displayed as a text message on the communications device 110 if the interaction is visual.
As another example, the next page parameter 304d is also common for both voice and visual interactions. The next page parameter 304d includes a pull-down menu that allows the content provider to specify which page is to be provided to the user after the initial prompts message is delivered to the user. In some implementations, the pages included in the pull-down menu reference to the pages in the page flow 202 defined by the content provider in
In some implementations, some of these parameters in the GUI 301 are specific for the IVR channel. For example, if the content provider clicks on the “Text-to-Speech” button 304e, another GUI (not shown) may be provided to the content provider, which enables the content provider to configure parameters that are related to the automated speech (e.g., gender, pitch, speed, etc.) converted from the text specified in the “Initial Prompts” parameter 304b.
The “No Output” tab 305 of the interaction page allows the content provider to enter parameters that configure the interaction page for the IVR channel in the case where there is no response received from the user. Similar to the main tab 304a, some parameters in the “No Output” tab 305 are common for both voice and visual interactions, and some parameters in the “No Output” tab 305 are specific for the voice or the visual interaction. The “No Match” tab 306 of the interaction page allows the content provider to enter parameters that configure the interaction page for the IVR channel in the case where the received response does not match a specified response type. Similar to the main tab 304a, some parameters in the “No Match” tab 306 are common for both voice and visual interactions, and some parameters in the “No Match” tab 306 are specific for the voice or the visual interaction.
The examples describe above for the IVR channel are not limiting. A GUI for developing an interaction page used in an IVR communications environment may have more or fewer configurable parameters than the GUI 301 described in
As another example, the “Navigations Controls” parameter 314d allows the content provider to specify navigation controls through check boxes to allow the user to navigate the voice pages according to the interaction flow of the interaction site. Here, the content provider selects the “Next” checkbox, where a “Next” button will be displayed on the communications device 110 if the interaction is visual to allow the user to navigate to the next voice page in the interaction flow.
As another example, the “Other Controls” parameter 314f allows the content provider to specify additional controls for the interaction site during a visual interaction. The “Call” checkbox 314g allows a “Call” button to be displayed on the communications device 110 if the interaction is visual. If the user clicks on the “Call” button during a visual interaction with the voice page, the communications device 110 may dial the telephone number as specified in the “Contact Us” parameter 225 in
In some implementations, the example GUI 321 may display information that is common as the audio information provided to a user during a voice interaction with the first page of the VIVR-enabled voice site. For example, the main text 325 “Welcome to this test app!” is displayed on the communications device 110, which corresponds to the information specified by the content provider in the “Initial Prompts” field 304c in
In some implementations, the example GUI 321 may display information that is only applicable for a visual interaction with the first page of the VIVR-enabled voice site. For example, a logo 322 is displayed on the communications device 110, which corresponds to the “Logo” parameter 226 as illustrated in
In some implementations, some of these parameters in the GUI 401 are common for both voice and visual interactions. For example, the “Initial Prompts” parameter 404b allows the content provider to enter information that will be presented to the user independent of how the user accesses the VIVR-enabled voice site. As another example, the Response Type 405a is also common for both voice and visual interactions. Here, the Response Type 405a is set to “Yes/No”, where the call handling system 150 expects a Yes or No response from a user accessing this voice page independent of whether the interaction is visual or voice. As another example, the next page parameter 404d is also common for both voice and visual interactions. The next page parameter 404d includes two pull-down menus that allows the content provider to specify which page is to be provided to the user after the user provides a feedback.
The examples describe above for the IVR channel are not limiting. A GUI for developing an interaction page used in an IVR communications environment may have more or fewer configurable parameters than the GUI 401 described in
The examples describe above for configuring the visual interaction are not limiting. A GUI for developing an interaction page used in a VIVR communications environment may have more or fewer configurable parameters than the GUI 411 described in
In some implementations, the example GUI 421 may display information that is common as the audio information provided to a user during a voice interaction with the corresponding voice page of the VIVR-enabled voice site. In some implementations, the example GUI 421 may display information that is only applicable for a visual interaction with the corresponding voice page of the VIVR-enabled voice site. For example, a logo 422 is displayed on the communications device 110, which corresponds to the “Logo” parameter 226 as illustrated in
The examples describe above for the IVR channel are not limiting. A GUI for developing an interaction page used in an IVR communications environment may have more or fewer configurable parameters than the GUI 501 described in
In some implementations, the example GUI 521 may display information that is common as the audio information provided to a user during a voice interaction with the corresponding voice page of the VIVR-enabled voice site. In some implementations, the example GUI 521 may display information that is only applicable for a visual interaction with the corresponding voice page of the VIVR-enabled voice site. For example, a logo 522 is displayed on the communications device 110, which corresponds to the “Logo” parameter 226 as illustrated in
The examples describe above for the IVR channel are not limiting. A GUI for developing an interaction page used in an IVR communications environment may have more or fewer configurable parameters than the GUI 601 described in
In some implementations, the example GUI 621 may display information that is common as the audio information provided to a user during a voice interaction with the corresponding voice page of the VIVR-enabled voice site. In some implementations, the example GUI 621 may display information that is only applicable for a visual interaction with the corresponding voice page of the VIVR-enabled voice site. For example, a logo 622 is displayed on the communications device 110, which corresponds to the “Logo” parameter 226 as illustrated in
The application builder 190 provides to the content provider system 142 a content provider interface for developing an interaction site executable by a user device to communicate with a server using any one of multiple communications channels (1101).
The content provider system 142 creates a VIVR-enabled interaction site using the content provider interface (1103). The application builder 190 may include a content provider interface 192. The content provider interface 192 is a GUI front-end for an application development tool that can be used to build an interaction site that is capable of handling interactions using multiple communications channels. The content provider may access the content provider interface 192 over the network 130. For example, the application builder 190 may provide a GUI similar to the GUI 204 in
The content provider system 142 inputs contact data for each of the enabled IVRs (1105). For example, the application builder 190 may provide a GUI similar to the GUI 204 in
The content provider system 142 determines whether the content provider has finished defining pages of the interaction site (1107). For example, the application builder 190 may provide a GUI similar to the GUI 201 in
The content provider inputs page data for the selected or new page (1111). For example, the application builder 190 may provide a GUI similar to the GUI 301 in
If the content provider has finished defining the pages of the interaction site, the application builder 190 generates an interaction flow document including data defining the interaction site based on the contact data and the page data (1115). In some implementations, the application builder 190 may generate an interaction flow document, which may include XML scripts that correspond to pages (e.g., interaction pages) of an interaction site created by the content provider via the content provider interface.
The application builder 190 then stores the interaction flow document at the interaction flow document database 185 (1117). The interaction flow document database 185 stores interaction flow documents created by the application builder 190, and provides the interaction flow processor 180 access to these interaction flow documents.
The communications device 110 sends a request to access an interaction site using either a voice interaction or a visual interaction (1201). A user of the communications device (e.g., a smart phone) 110 is able to interact with the communications device 110 to request a service from an interaction site that is provided by a content provider. For example, the user may indicate a desire to request a service by contacting the call handling system 150 in either of two ways. For example, a user may access a VIVR-enabled voice site by calling a telephone number associated with the voice site. As another example, the user may access the same voice site visually using an application by entering a URL associated with the voice site on the communications device.
The call handling system 150 receives the request from communications device 110, and sends a request to the interaction flow processor 180 to obtain code for initiating the interaction site (1203). For example, if the user of the communications device 110 calls a phone number to reach the interaction site, the call handling system 150 will receive the phone call. Based on the contact information received by the call handling system 150, the call handling system 150 sends a request to the interaction flow processor 180 for the scripts for executing the voice site. The request sent by the call handling system 150 to the interaction flow processor 180 may include an interaction site identifier (e.g., a unique interaction site identifier) that may be used by the interaction flow processor 180 to identify the desired interaction site. In some implementations, the call handling system 150 may send a request for the scripts for executing the entire flow of the interaction site. In other implementations, the call handling system 150 may send a request for the scripts for executing a particular state of the flow (e.g., a state corresponding to executing a single page or executing a subset of the pages of the interaction site), rather than the entire flow.
The interaction flow processor 180 identifies the communications channel used by the user to contact the system (1205). In some implementations, the communications channel may be included in the request sent by a multi-channel communications system. In some implementations, the communications channel may be determined by the interaction flow processor 180 based on the identifier of the handling system. For example, the identifier may be an IP address of the handling system. As another example, the identifier may be metadata embedded in the request to the interaction flow processor 180.
The interaction flow processor 180 accesses the interaction flow document for the interaction site (1207). Based on the interaction site that the call handling system 150 has requested, the interaction flow processor 180 accesses the interaction flow document stored in the interaction flow document database 185. The interaction flow document database 185 then provides the common code for the interaction site (1209). In some implementations, the common code may be XML scripts. For example, the common code may be SCXML scripts.
The interaction flow processor 180 translates the common code to code specific to the IVR channel (1211). For example, given the handling system is the call handling system 150, the interaction flow processor 180 translates the scripts from XML scripts to VoiceXML scripts. In some implementations, the translation may include adding parameters specific to a type of communications channel in the translated scripts. For example, given the handling system is the call handling system 150, the interaction flow processor 180 may add information specific to ASR resource selection in the translated scripts. The interaction flow processor 180 then transmits the translated code that is specific to the IVR channel to the call handling system 150 (1213).
The call handling system 150 determines whether the request from the communications device 110 is for a standard IVR or for a visual IVR application (1214). In some implementations, the request from the communications system is received by the application server 140. For example, the application server 140 may determine that the request is for a standard IVR if the request is received via a voice channel. The application server 140 may determine that the request is for a visual IVR if the request is received via a data channel. As another example, the application server 140 may receive the request from a data channel, but may determine that the request is for a standard IVR if metadata associated with the request indicates that the request is a voice communication. In some implementations, after the application server 140 determines whether the request is for a visual IVR or for a voice IVR, the application server 140 may send an updated request to the VIVR system 152, where the updated request includes an indication of the determination.
The call handling system 150 executes code specific to the determined type of IVR communications to initiate the interaction site between the call handling system 150 and the communications device 110 (1215). The communications device 110 then interacts with the interaction site via the communications channel (1217). In some implementations, the VIVR system 152 processes a visual interaction in a same manner as processing a voice interaction. In some implementations, in response to determining that the request from the communications device 110 is for the visual-version of the voice site, the application server 140 may translate the voice messages from the VIVR system 152 into corresponding messages in a different scripting or programming language (e.g., HTML5), so the corresponding messages may be displayed on the communications device 110. In some implementations, the call handling system 150 may store interaction data in the data store 160, including data indicating whether the interaction is visual or voice.
The disclosed and other examples can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The implementations can include single or distributed processing of algorithms. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A system may encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. A system can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communications network.
The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer can include a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer can also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data can include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
While this document may describe many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular embodiments. For example, a communications channel may include the Web, where a user may interact with an interaction site via a webpage generated dynamically according to the interaction flow. As another example, a communications channel may include a smart phone application, where a user may interact with an interaction site by starting a smart phone application, and the smart phone application then contacts the interaction site and provides a communications interface between the user and the interaction site. Certain features that are described in this document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.
Only a few examples and implementations are disclosed. Variations, modifications, and enhancements to the described examples and implementations and other implementations can be made based on what is disclosed.
Konig, Yochai, Kumar, Praphul, Kolman, Scott, Friio, Andrea
Patent | Priority | Assignee | Title |
10270908, | Apr 10 2015 | GENESYS CLOUD SERVICES, INC | Visual interactive voice response system |
10970354, | Jul 17 2017 | SONGTRADR, INC. | Method for processing code and increasing website and client interaction speed |
Patent | Priority | Assignee | Title |
6263051, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for voice service bureau |
6587547, | Sep 13 1999 | FOOTHILL CAPITAL CORPORATION | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone |
6606596, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through digital sound files |
6658093, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for travel availability information |
6765997, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with the direct delivery of voice services to networked voice messaging systems |
6768788, | Sep 13 1999 | FOOTHILL CAPITAL CORPORATION | System and method for real-time, personalized, dynamic, interactive voice services for property-related information |
6788768, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for book-related information |
6798867, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time database queries |
6829334, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control |
6836537, | Sep 13 1999 | MICROSTRATEGY INCORPORATED | System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule |
6850603, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services |
6873693, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for entertainment-related information |
6885734, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive inbound and outbound voice services, with real-time interactive voice database queries |
6895084, | Aug 24 1999 | Genesys Telecommunications Laboratories, Inc | System and method for generating voice pages with included audio files for use in a voice page delivery system |
6940953, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services including module for generating and formatting voice services |
6964012, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts |
6977992, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time database queries |
7020251, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone |
7082422, | Mar 23 1999 | MicroStrategy, Incorporated | System and method for automatic transmission of audible on-line analytical processing system report output |
7197461, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for voice-enabled input for use in the creation and automatic deployment of personalized, dynamic, and interactive voice services |
7266181, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services with integrated inbound and outbound voice services |
7272212, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services |
7296226, | Feb 15 2001 | Accenture Global Services Limited | XML-based multi-format business services design pattern |
7340040, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for corporate-analysis related information |
7428302, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule |
7440898, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with system and method that enable on-the-fly content and speech generation |
7457397, | Aug 24 1999 | Genesys Telecommunications Laboratories, Inc | Voice page directory system in a voice page creation and delivery system |
7486780, | Sep 13 1999 | MicroStrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control |
7792254, | Oct 19 2004 | GENESYS CLOUD SERVICES, INC | System for distributing VXML capabilities for execution on client devices |
7831693, | Aug 18 2003 | Oracle America, Inc | Structured methodology and design patterns for web services |
8018921, | Sep 07 2005 | GENESYS CLOUD SERVICES, INC | Using XML expressed primitives for platform and system-independent call modeling |
8041575, | Nov 28 2007 | International Business Machines Corporation | System and method for enabling voice driven interactions among multiple IVR's, constituting a voice workflow |
8117538, | Dec 19 2008 | GENESYS CLOUD SERVICES, INC | Method for dynamically converting voice XML scripts into other compatible markup language scripts based on required modality |
8200527, | Apr 25 2007 | CONCENTRIX CVG CUSTOMER MANAGEMENT DELAWARE LLC | Method for prioritizing and presenting recommendations regarding organizaion's customer care capabilities |
8654934, | Apr 21 2010 | GENESYS CLOUD SERVICES, INC | Multimodal interactive voice response system |
20030007625, | |||
20030144843, | |||
20040110487, | |||
20040117804, | |||
20050141679, | |||
20050273759, | |||
20070250841, | |||
20070286162, | |||
20080065390, | |||
20080319760, | |||
20090138269, | |||
20090204603, | |||
20110151838, | |||
20110196979, | |||
20110211679, | |||
20110219080, | |||
20110286586, | |||
20110293078, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 10 2015 | ANGEL.COM INCORPORATED | (assignment on the face of the patent) | / | |||
Nov 13 2015 | KONIG, YOCHAI | ANGEL COM INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037205 | /0820 | |
Nov 24 2015 | FRIIO, ANDREA | ANGEL COM INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037205 | /0820 | |
Nov 24 2015 | KOLMAN, SCOTT | ANGEL COM INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037205 | /0820 | |
Dec 02 2015 | KUMAR, PRAPHUL | ANGEL COM INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037205 | /0820 | |
Dec 15 2015 | ANGEL COM INCORPORATED | Genesys Telecommunications Laboratories, Inc | MERGER SEE DOCUMENT FOR DETAILS | 038923 | /0903 | |
Dec 01 2016 | BAY BRIDGE DECISION TECHNOLOGIES, INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 040815 | /0001 | |
Dec 01 2016 | INTERACTIVE INTELLIGENCE GROUP, INC | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 040815 | /0001 | |
Dec 01 2016 | ECHOPASS CORPORATION | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 040815 | /0001 | |
Dec 01 2016 | GENESYS TELECOMMUNICATIONS LABORATORIES, INC , AS GRANTOR | BANK OF AMERICA, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 040815 | /0001 | |
Mar 15 2021 | Genesys Telecommunications Laboratories, Inc | GENESYS CLOUD SERVICES, INC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 067651 | /0783 |
Date | Maintenance Fee Events |
Apr 01 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 25 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 11 2019 | 4 years fee payment window open |
Apr 11 2020 | 6 months grace period start (w surcharge) |
Oct 11 2020 | patent expiry (for year 4) |
Oct 11 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 11 2023 | 8 years fee payment window open |
Apr 11 2024 | 6 months grace period start (w surcharge) |
Oct 11 2024 | patent expiry (for year 8) |
Oct 11 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 11 2027 | 12 years fee payment window open |
Apr 11 2028 | 6 months grace period start (w surcharge) |
Oct 11 2028 | patent expiry (for year 12) |
Oct 11 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |