Abstract:
The present solution can include a method for using dialog contracts for contact center interactions. The method can include a step of determining a context that applies to a caller who is communicating with a contact center. A dialog contract can be identified that corresponds to the determined context. The dialog contract can specify requirements for a real-time contact center session. The contact center can transfer the caller to a contact center agent. The real-time communication session can be conducted. A software program, referred to as an agent monitor, can analyze input of the caller and the contact center agent during the communication session and can automatically update a session file as requirements of the dialog contract are satisfied. The session file can be used as a quality measurement of the communication session.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This continuation-in-part application claims the benefit of U.S. patent application Ser. No. 11/615,856 filed 22 Dec. 2006, and U.S. patent application Ser. No. 11/680,304 filed 28 Feb. 2007, both of which are hereby incorporated by reference. 
    
    
     BACKGROUND 
     1. Field of the Invention 
     The present invention relates to the field of contact center technologies and, more particularly, to enhancing contact centers with dialog contracts. 
     2. Description of the Related Art 
     A contact center is a functional area used by one or more organizations to handle inbound/outbound communications with customers. During a contact center interaction, a caller can be transferred from an automated response component to a contact center agent, who possesses an expertise corresponding to a caller&#39;s need (i.e., skills based routing). Often a contact center agent is paid, rewarded, or penalized based upon a quantity, a quality, and a duration of their interactions with callers. Agent monitoring components of a call center are designed to acquire and record agent specific interaction metrics. 
     Conventional agent monitoring techniques are unable to automatically make quality determinations. At present, agent calls are often monitored by a live supervisor who subjectively determines a quality of a communication session between the caller and the agent. Alternatively, at least a portion of agent/caller interactions are recorded, where the recordings are analyzed by a live supervisor or quality assurance technician who makes subjective determinations of quality of analyzed calls. Both of these techniques are highly deficient. First, it can be expensive and time consuming to have quality assurance personnel or supervisors analyze calls. Additionally, live monitoring by supervisors is typically performed against a minute portion of overall calls handled by a call center resulting in the deficiencies of unmonitored calls remaining undetected. Recording calls for later analysis can require large amounts of storage, computing processing power, and human agent analysis time. Further, neither technique aids in the live interaction process to guide an agent to improve quality of a live interactive session. 
     The problem with monitoring quality is due in part to the fact that contact agent/caller interactions are free form interactions. That is, neither party is contextually constrained, as they are when interacting through Web based forms or a scripted Interactive Voice Response (IVR) dialog. Unconstrained or free form interactions between a contact center agent and a caller can be voice-based interactions (e.g., telephone interactions), text exchange interactions (e.g., chat communications, instant messaging communications, and/or text messaging communications), multimodal interactions, or video teleconferencing interactions. 
     What is needed is a technique to automatically evaluate quality of a free form contact center interactions. Preferably, this technique could be implemented in a preventive manner to guide a contact center agent to improve a communication session&#39;s quality while the session is active. It would also be advantageous if the technique operated without requiring communication sessions to be recorded, which could result in significant savings related to quantities of needed computing resources. 
     SUMMARY OF THE INVENTION 
     The present invention discloses a use of dialog contracts to provide a quality measurement for contact center interactions. The dialog contracts can include a number of requirements, which are to be satisfied for a particular type of dialog session. Different types of dialog sessions can be associated with different dialog contracts. In the invention, an agent monitor program can join communication sessions between a contact center agent and a caller. This agent monitor program can analyze free form input provided by the agent and caller and can map this input to related requirements specified by the dialog contract. In one embodiment, the agent monitor can be deployed within a composite services environment and can be used regardless of whether the input was originally voice input or text exchange input. Further, the contact center can be formed from open standards based components, instead of proprietary components provided by a specific vendor. In one implementation, the contact center agent can be presented with the requirements, which are automatically updated as each requirement is fulfilled. 
     After a dialog session, the agent monitor program can prepare a report of the communication session, which indicates whether the dialog contract was satisfied. Agent pay, longevity, and the like can be dependent upon the prepared reports. Additionally, a supervisor can be notified (either immediately or after the fact) when the dialog contract is not being satisfied. In the case of immediate notification, the supervisor or other contact center agent can intervene into the communication session to ensure that the dialog contract is fulfilled. 
     The present invention can be implemented in accordance with numerous aspects consistent with the material presented herein. For example, the present solution can include a method for using dialog contracts for contract center interactions. The method can include a step of determining a context that applies to a caller who is communicating with a contact center. A dialog contract can be identified that corresponds to the determined context. The dialog contract can specify requirements for a real-time contact center session. The contact center can transfer the caller to a contact center agent. The real-time communication session can be conducted. A software program, referred to as an agent monitor, can analyze input of the caller and the contract center agent during the communication session and can automatically update a session file as requirements of the dialog contract are satisfied. The session file can be used as a quality measurement of the communication session. 
     Another aspect of the present invention can include a contact center system that includes a data storage area and an Action Classifier Module (ACM) engine. The data storage area can store one or more dialog contracts, wherein each dialog contract corresponds to a communication context. Each dialog contract can also include a set of data fields that are to be completed during a real-time communication session between a contact center agent and a caller. The ACM engine can map free form text input provided by the contact center agent and the caller to the data fields and values for the real-time communication sessions. A quality of the real-time communication session can be determined based upon whether the data fields of a session specific dialog contract are satisfactorily completed. 
     Still another aspect of the present invention can include a contact center software solution that includes an agent monitor software program. The agent monitor software program can dynamically map free form input of a contact center agent and a caller against a set of fields specified by a context specific dialog contract. The agent monitor program can automatically generate reports that indicate a quality of an associated real-time communication between the contact center agent and the caller based upon whether values have been placed in the set of fields, where the values derived from the free form input. 
     It should be noted that various aspects of the invention can be implemented as a program for controlling computing equipment to implement the functions described herein, or a program for enabling computing equipment to perform processes corresponding to the steps disclosed herein. This program may be provided by storing the program in a magnetic disk, an optical disk, a semiconductor memory, any other recording medium, or can also be provided as a digitally encoded signal conveyed via a carrier wave. The described program can be a single program or can be implemented as multiple subprograms, each of which interact within a single computing device or interact in a distributed fashion across a network space. 
     The method detailed herein can also be a method performed at least in part by a service agent and/or a machine manipulated by a service agent in response to a service request. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       There are shown in the drawings, embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown. 
         FIG. 1A  is a schematic diagram of a system where a software agent monitors contact center communication sessions using dialog contracts in accordance with an embodiment of the inventive arrangements disclosed herein. 
         FIG. 1B  is a flow chart that illustrates a method in which the agent monitor can be utilized. 
         FIG. 2  is a schematic diagram of a system showing a composite service environment in which an agent monitor application can execute. 
         FIG. 3  is a schematic illustration of a component services environment that uses a Chatbot object to add context to contact center interactions in accordance with an embodiment of the inventive arrangements disclosed herein. 
         FIG. 4  is a schematic diagram of a standards based contact center from an agent perspective that is implemented using WEBSPHERE enabled components and associated tooling in accordance with an embodiment of the inventive arrangements disclosed herein. 
         FIG. 5  is a schematic diagram of a standards based contact center from a customer perspective that is implemented using WEBSPHERE enabled components and associated tooling in accordance with an embodiment of the inventive arrangements disclosed herein. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1A  is a schematic diagram of a system  100  where a software agent monitors contact center communication sessions using dialog contracts in accordance with an embodiment of the inventive arrangements disclosed herein. In system  100 , a caller can access a contact center via contact node  112 . During a communication session, the caller can be transferred to a call center agent, who interacts via agent node  114 . A supervisor using supervisor node  116  can optionally conference into the communication session. Communications between the caller and the call center agent can be free form communications. An agent monitor  138  program can participate in the communication sessions and can be used to automatically apply a dialog contract  144  to the communication session. 
     In one embodiment, the agent monitor  138  can be considered a communication session participant, which is able to add content to the real-time communication session. For example, if an agent has failed to query a caller for necessary information needed to fulfill a dialog contract  144 , the agent monitor program  138  can prompt (i.e., using voice output for voice based communication sessions or text output for text exchange communication sessions) the caller for the information. 
     The dialog contract  144  can outline numerous requirements for a communication session involving a caller and a contact center agent. The contract table  142  shows that these requirements can include fields which should be filled in with values during the communication session. For example, a dialog contract  144  relating to a product warranty action can include fields, such a caller name, an item, an item warranty identifier, and purchase date. Live feedback  146  can be provided to the contact center agent, which shows the contact center agent the requirements that must be achieved to fulfill the dialog contract  144 . When the agent monitor  138  determines a requirement is met, the live feedback  146  can update a contact center interface  120  of the agent node  114  to reflect that the requirement has been fulfilled. Additionally, a session report  148  can be automatically generated by the agent monitor  138 , which includes metrics related to a contact center agents&#39; performance. The metrics can include an automatically determined quality of a communication session, which is based upon whether the dialog contract  144  was successfully fulfilled. 
     As shown in system  100 , numerous communication nodes  110 , each having one or more interfaces  118 , can be communicatively linked to various contact center components  132  via a network  130 . The communication nodes  110  can include the contact node  112 , the agent node  114 , and the supervisor node  116 . The interfaces  118  can include a center interface  120 , a text exchange interface  122 , and a voice interface  124 . 
     In one configuration, the agent monitor  138  can be a voice markup document, which is interpreted by voice server  136 . The agent monitor  138  can store information, such as contract table  142  information contained in data store  140 . 
     The contact center components  132  can store information in a data store  134 . In one embodiment, the contact center components  132  can conform to open standards and standardized communication protocols. Each of the documents  144 - 148  can be formatted in accordance with open standards and can be exchanged using standardized communication protocols. Further, the contact center components  132  can be Service Oriented Architecture (SOA) components. Further still, the contact center components  132  can be components conforming to a composite services model. 
     As used throughout this application, open standards indicate that specifics of communication protocols, interfaces with components, and the like are published and available to third party vendors, who can construct solutions or enhancements to the open contact center by conforming to the published standards, such as Extensible Markup Language (XML), SOA, Real-time Transport Protocol (RTP), Media Resource Control Protocol (MRCP), Hyper Text Transfer Protocol (HTTP), Session Initiation Protocol (SIP), and the like. Open standards are often established by an independent standard setting body, such as the Internet Engineering Task Force (IETF), World Wide Web Consortium (W3C), etc. or by a cooperating consortium of multiple independent businesses, such as IBM, Sun Microsystems, and the like. Open standards, as used herein, can exist even through one or more companies maintains intellectual property rights to open contact center concepts, such as those presented in the instance application. 
     The network  130  can include any hardware/software/and firmware necessary to convey digital content encoded within carrier waves. Content can be contained within analog or digital signals and conveyed through data or voice channels. The network  130  can include local components and data pathways necessary for communications to be exchanged among computing device components and between integrated device components and peripheral devices. The network  130  can also include network equipment, such as routers, data lines, hubs, and intermediary servers which together form a packet-based network, such as the Internet or an intranet. The network  130  can further include circuit-based communication components and mobile communication components, such a telephony switches, modems, cellular communication towers, and the like. The network  130  can include line based and/or wireless communication pathways. 
     Each of the data stores  134  and  140  can be physical or virtual storage spaces configured to store digital content. Data stores  134  and/or data store  140  can be physically implemented within any type of hardware including, but not limited to, a magnetic disk, an optical disk, a semiconductor memory, a digitally encoded plastic memory, a holographic memory, or any other recording medium. Further, each data store  134  and  140  can be a stand-alone storage unit as well as a storage unit formed from a plurality of physical devices. Additionally, content can be stored within data stores  134  and  140  in a variety of manners. For example, content can be stored within a relational database structure or can be stored within one or more files of a file storage system, where each file may or may not be indexed for information searching purposes. Further, the data stores  134  and  140  can utilize one or more encryption mechanisms to protect stored content from unauthorized access. 
       FIG. 1B  is a flow chart that illustrates a method in which the agent monitor  138  can be utilized. The flow chart begins in step  160 , where a communication session is established between a contact center agent and a caller. In step  162 , an agent monitor  138  software program can join in the communication session. In step  164 , the agent monitor  138  can continually map agent input to requirements of a dialog contract  144 ,  166 . In one embodiment, the dialog contract  144 ,  166  can be a Document Type Definition (DTD) based document, such as a topic DTD. Requirements of the dialog contract  144 ,  166  can include a formal definition of elements, structures, and rules or marking up a type of Standard Generalized Markup Language (SGML) document, such as an XML document. For example, the agent monitor  138  can put results into an XML document and can run a validating parser, which lets the DTD document detect any errors or missing data in the XML document. 
     The agent monitor  138  can display  168  a status of the dialog contract vs. current input in real-time during the communication session. For example, current contract status information can be displayed (via center interface  120 ) throughout a communication session, which can assist the agent in fulfilling the dialog contract  144 ,  166 . In step  170 , when a communication session ends, the agent monitor  138  can generate a report  148 ,  172  of agent performance against the DTD contract  144 ,  166 . Using this report  148 ,  172  a determination can be made as to whether the agent upheld his/her end of the contract, as shown in step  174 . When the contract is not satisfactorily fulfilled, a supervisor can be automatically notified, as shown by step  176 . The flow chart can loop from step  174  and/or  176  to step  160 , where the agent monitor  138  can execute for a different communication session. 
       FIG. 2  is a schematic diagram of a system  200  showing a composite service environment  250  in which an agent monitor application  254  can execute. System  200  can represent one contemplated embodiment for system  100 . 
     In system  200 , a Chatbot object  230  is used to apply application context to free form input. That is, the Chatbot object  230  determines fields of the agent monitor application  254  to which free form input relates. More specifically, Natural Language Understanding (NLU) runtime component  240  can use statistical language models to determine applicable fields of a dialog contract. More specifically, the NLU component  240  can utilize Action Classifier Module (ACM) engine  242  to map input to applicable fields. 
     ACM engine  242  is a NLU engine that uses a set of configurable rules to predict an action based upon a free form input, such as a spoken request. The actions are the categories into which each request a caller makes can be sorted. In system  200 , input is mapped to dialog contract fields, instead of automated response programmatic actions, which is conventionally the case. More formally, the ACM engine  242  embodies a conditional probability distribution over a set of outputs given an input and a state. 
     After this determination is made, the Chatbot object  230  can send an information update message to the application  254 , which is used to update information in table  258 . Table  258  updates can be conveyed to other clients  212 - 214  accessing agent monitor application  254 . A contact center agent can utilize one or more of the clients  212 - 214 . 
     In system  200 , different types of devices, such as a text exchange device  210 , a communication device  212 , and a Web device  214 , can each access agent monitor application  254  executed by application server  252  contained within environment  250  via appropriate interfaces (e.g., text exchange interface  220 , voice interface  222 , and Web interface  224 ). 
     The text exchange interface  220  can include any interface capable of exchanging text in real time, such as a chat interface, an instance messaging interface, and a test messaging interface. The voice interface  222  can be any interface configured for real time voice communications, such as a mobile telephone interface, communication interface of a desktop computer, a Voice over Internet Protocol (VoIP) interface, and the like. The Web interface  224  can be any interface capable of rendering markup or Web based content. For example, the Web interface  224  can be a Web browser. 
     The NLU runtime component  240  can use statistical models that map natural language requests (i.e., free form input) to one of many possible routing targets. In one embodiment, the statistical models can be specifically designed to handle text interface input, such as emoticons and chat slang. The routing targets of system  200  are table  258  fields. The Chatbot object  230  can be a software object containing programmatic logic designed to relate free form data to concrete model items (e.g., fields and filed values of table  258 ). 
       FIG. 3  is a schematic illustration of a component services environment  300  that uses a Chatbot object  370  to add context to contact center interactions in accordance with an embodiment of the inventive arrangements disclosed herein. The context an correspond to a specific dialog contract, as explained in system  100 . Environment  300  is one contemplated embodiment for environment  250 . 
     In the composite services environment  300 , different channels of access to a service can be established for accessing a service through corresponding different modalities of access including voice and visual (e.g., Web and/or Text Exchange) modes. A service can be concurrently accessed by different clients using different communication channels. Additionally, free-form input (i.e., text exchange input) can be routed through a Chatbot object  370 , which uses a NLU component  372  to map the input to application specific fields for a suitable application context (i.e., maps input to requirements of a dialog contract). 
     Specifically, interactions with a service within a communication session can be provided across selected ones of the different communication channels, each channel corresponding to a different modality of access to the service. In the case of a voice modality and a visual modality, a separate markup document an be utilized in each selected channel according to the particular modality for that channel. 
     Importantly, each channel utilized for accessing a service within a session can be associated with each other channel accessing the service within the same session. In consequence, the state of the service—stored within a model in a model-view-controller architecture—can be maintained irrespective of the channel used to change the state of the service. Moreover, the representation of the service can be synchronized in each view for the selected ones of the different channels. As such, an end user can interact with the service in a single session across different channels of access using different modalities of access without requiring burdensome, proprietary logic deployed within a client computing device. 
     As illustrated, composite services can operate in an application server  375  and can include multiple channel servlets  335  configured to process communicative interactions with corresponding sessions  325  for a composite multimedia service over different channels of access  345 ,  350 ,  355  for different endpoint types  360 A,  360 B,  360 C in a communication network. In this regard, the channel servlets  335  can process voice interactions as a voice enabler and voice server to visual endpoint  360 A incorporating a voice interface utilizing the RTP and HTTP, or a voice endpoint  360 B utilizing SIP. Likewise, the channel servlets  335  can process visual interactions as a Web application to a visual endpoint. As yet another example, the channel servlets  335  can process instant message interactions as an instant messaging server to an instant messaging endpoint  360 C. 
     More specifically, the channel servlets  335  can be enabled to process HTTP requests for interactions with a corresponding session  325  for a composite multimedia service. The HTTP requests can originate from a visual mode oriented Web page over a visual channel  345 , from a visual mode oriented text exchange interface over a text exchange channel  355 , or even in a voice mode over a voice channel  350  enabled by SIP. When interactions occur over channel  355 , Chatbot object  370  can provide context using NLU component  372 , as detailed in system  200 . The channel servlets  335  can be enabled to process SIP requests for interactions with a corresponding session  325  for a composite multimedia service through a voice enabler which can include suitable voice markup, such as Voice XML and call control extensible markup language (CCXML) coupled to a SIPlet which, in combination, can be effective in processing voice interactions for the corresponding session  325  for the composite multimedia service, as it is known in the art. 
     Each of the channel servlets  335  can be coupled to a model servlet  320 . The model servlet  320  can mediate interactions with a model  310  for an associated one of the sessions  325 . Each of the sessions  325  can be managed within a session manager  320  which can correlate different channels of communication established through the channel servlets  335  with a single corresponding one of the sessions  325 . The correlation of the different channels of communication can be facilitated through the use of a coupled location registry  330 . The location registry  330  can include a table indicating a host name of systems and channels active for the corresponding one of the sessions  325 . 
     The model servlet  320  can include program code enabled to access a model  310  for a corresponding session  325  for a composite multimedia service providing different channels of access  345 ,  350 ,  355  through different endpoints  360 A,  360 B,  360 C. For instance, the model  310  can be encapsulated within an entity bean within a bean container. Moreover, the model  310  can store session data for a corresponding one of the sessions  325  irrespective of the channel of access  345 ,  350 ,  355  through which the session data for the corresponding one of the sessions  325  is created, removed or modified. 
     Notably, changes in state for each of the sessions  325  for a composite multimedia service can be synchronized across the different views  360  for the different channels of access  345 ,  350 ,  355  through a listener architecture. The listener architecture can include one or more listeners  340  for each model  310 . Each listener can correspond to a different channel of access  345 ,  350 ,  355  and can detect changes in state for the model  310 . Responsive to detecting changes in state for the model  310  for a corresponding one of the sessions  325  for a composite multimedia service, a listener  340  can provide a notification to subscribing view  360  through a corresponding one of the channel servlets  335  so as to permit the subscribing views  360  to refresh to incorporate the detected changes in state for the model  310 . 
       FIG. 4  is a schematic diagram of a standards based contact center  400  from an agent perspective that is implemented using WEBSPHERE enabled components and associated tooling in accordance with an embodiment of the inventive arrangements disclosed herein. Center  400  represents one particular embodiment for system  100 . It should be noted that center  400  utilizes WEBSPHERE enabled components for illustrative purposes only and the scope of the invention is not to be construed as limited in this regard. Other middleware solutions and open standards based solutions can be substituted and adapted to achieve approximately equivalent results. 
     An illustrative scenario for center  400  can show how the components interact. In this scenario, a call can come in over a telephone to the contact center  400  using a standard telephone, where the call is transferred to an agent connected to contact center components using agent desktop  410 . The agent can utilize any personal computer in an operations center as the agent desktop  410  and is not constrained to a particular station. The agent can also remotely (i.e., external to an operations center, such as through a home computer) connect to contact center components using a Web browser  412  and SIP based telephone  414 . The agent can sign onto portal  424  via an agent desktop portlet  425 . For example, the agent can enter a user id and password and hit a SUBMIT button. 
     The desktop agent  410  portlet can call the WEBSPHERE PRESENCE SERVER (WPS)  426  with a publish/subscribe mechanism. An IP address of the agent&#39;s SIP phone  414 , browser  412 , BEEP address, and other information including agent expertise and agent utilization can be conveyed to the presence server  426 . After login onto the system, a default screen can be presented in the browser  412  that indicates that the agent is active and available. 
     At this time, a call between a caller on a phone and the contact center  400  can be active. In a running VXML application, the VE can prompt a user for input. The VE can interact with the WEBSPHERE VOICE SERVER to determine user context information and a purpose of a call. This context can be mapped to a corresponding dialog contract. The caller responses can indicated that agent assistance is needed. For example, a caller can select a dialog option to speak with a live agent. The VXML application can transfer the caller to an agent transfer servlet co-located with the SIP proxy  416 . Connector A ( 417 ), which continues in  FIG. 5 , illustrates this connection. Once the transfer is made, the agent can receive the call using the SIP phone  414  and can receive caller specific data via the browser  412 . 
     Two key services used to allocate an agent to a caller are skills based routing and queuing. The presence server  426  allows a rules-based service in the assignment of registered agents based upon rich presence information. The watchers  427  along with network dispatcher load balancing allow for rule based services in the queuing a distribution of call requests. The VE in conjunction with SIP information can provide the necessary information for the get agent  428  service. 
     The agent monitor  432  application can be active during the communication session. It can use NLU component  434  to map free form input of the agent and/or the caller to a dialog contract. Real time feedback and specifics of the dialog contract can be proved to the agent via agent desktop  410 . This feedback ensures the agent is aware of communication session requirements and directs communications accordingly. 
       FIG. 5  is a schematic diagram of a standards based contact center  500  from a customer perspective that is implemented using WEBSPHERE enabled components and associated tooling in accordance with an embodiment of the inventive arrangements disclosed herein. Center  500  represents one particular embodiment for system  100 . It should be noted that center  500  utilizes WEBSPHERE enabled components for illustrative purposes only and the scope of the invention is not to be construed as limited in this regard. Other middleware solutions and open standards based solutions can be substituted and adapted to achieve approximately equivalent results. 
     An illustrative scenario for center  500  can show how the components interact. In this scenario, a caller can use caller desktop  510  to telephone a contact center using a standard phone  514  and/or can communicate using a browser  512  (e.g., chat, text messaging, Web forms, or other form of interaction). The scenario can begin when the caller phones the contact center using phone  514 . The call can come in over a PSTN connection and can be sent to a VoIP/media gateway  516 . From there, the call can pass through a WAS SIP proxy as a SIP INVITE message, which is forwarded to the VE  518 . The VE  518  can inform the composite services model server  540  (i.e., over a HTTP communication) that a new call session has started. 
     A session manager servlet  542  can call an IM presence server  544  to determine capabilities (e.g., clients/modalities) of the caller desktop  510  (assuming the desktop  510  has been authenticated) and to acquire IP address and protocol types (e.g., SIMPLE for IM, HTTP for browser  512 ) of the desktop  510 . This obtained information can be stored in the model server (MS)  540  along with the VE  518  IP hostname for this call/session  543 . An associated model  545  can also be updated based upon previously stored information (e.g., name and address information can be previously logged from a prior session). 
     The session manager servlet  542  can then set a voice channel as active in the IMS presence server  544 . Activation indicates that the caller&#39;s phone  514  is being utilized and is not just available. The presence server  544  can set a watcher  548  for an event package on a person. The MS  540  can add a listener  550  for voice modality hooks to point to the VE  518  hostname for XML Configuration Access Protocol (XCAP) messages. Triggers can be established for all values for which the listener  550  is listening. All appropriate listening information and associated triggers can be sent to the VE  518 . 
     At this point, model  545 , session  543 , and presence server  544  settings have been set to values associated with a live call. One of these values can include focus, which can be set to synchronize HTTP and VXML focus. The caller can now interact with the contact center  500 , providing responses to automated prompts. These responses can result in a transfer (illustrated by Connector A ( 517 )) to a live agent, details for which are provided in  FIG. 4 . During these interactions, the agent monitor  560  can map input to a dialog contract using NLU component  562 . 
     The present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. 
     The present invention also may be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form. 
     This invention may be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.