# Patent

## Title
Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment

## Abstract

A network system for enabling voice interaction between communications-center applications and human agents remote from the center has a primary server connected to the network the server controlling at least one routing point used by the center, a secondary server connected to the network the secondary server for generating and serving voice extensible markup language, a voice gateway associated with the secondary server, the gateway for executing voice extensible markup language and recognizing speech input, and a software platform based in the primary server and distributed in part as a server application to the secondary server, the software suite functioning as a data transformation interface between the center applications and the gateway. In a preferred use agents and applications communicate bi-directionally using VXML.

## Background
CROSS-REFERENCE TO RELATED DOCUMENTS
The present invention is a continuation in part (CIP) to a U.S. patent application Ser. No. 10/269,124 entitled Method and Apparatus for Extended Management of State and Interacdon of a Remote Knowledge Worker from a Contact Center filed on Oct. 10, 2002 now U.S. Pat. No. 6,985,943, which is a CIP to a U.S. patent application Ser. No. 09/405,335 entitled Method and Apparatus for Data-Linking a Mobile Knowledge Worker to Home Communication-Center Infrastructure filed on Sep. 24, 1999 now U.S. Pat. No. 6,711,611, which is a CIP to U.S. application Ser. No. 09/151,564, now U.S. Pat. No. 6,108,711 filed Sep. 11, 1998 and issued on Aug. 22, 2000, all of which are incorporated herein at least by reference.


FIELD OF THE INVENTION
The present invention pertains to telephony communications systems and has particular application to methods including software enabling extended management capabilities of state and interaction of a remote knowledge worker from a contact center using voice-based technologies.
BACKGROUND OF THE INVENTION
In the field of computer-telephony-integrated (CTI) telephony communication, there have been many improvements in technology over the years that have contributed to more efficient use of telephone communication within hosted call-center environments.
In recent years, advances in computer technology, telephony equipment, and infrastructure have provided many opportunities for improving telephone service in public-switched and private telephone intelligent networks. Similarly, development of a separate information and data network known as the Internet, together with advances in computer hardware and software have led to a new multimedia telephone system known in the art by several names. In this new system telephone calls are simulated by multimedia computer equipment, and data, such as audio data, is transmitted over data networks as data packets. In this system the broad term used to describe such computer-simulated telephony is Data-Network-Telephony (DNT) of which Internet-Protocol-Network-Telephony (IPNT) is a sub-set. Conventional non-DNT telephony systems are referred to herein as Connection-Oriented-Switched-Telephony COST systems.
Recent improvements to available technologies associated with the transmission and reception of data packets during real-time DNT communication have enabled companies to successfully add DNT, principally IPNT, capabilities to existing CTI call centers. Such improvements, as described herein and known to the inventor, include methods for guaranteeing available bandwidth or quality of service (QoS) for a transaction, improved mechanisms for organizing, coding, compressing, and carrying data more efficiently using less bandwidth, and methods and apparatus for intelligently replacing lost data via using voice supplementation methods and enhanced buffering capabilities.
In addition to Internet protocol (IPNT) calls, a DNT center may also share other forms of media with customers accessing the system through their computers. E-mails, Video mails, fax, file share, file transfer, video calls, and so forth are some of the other forms of media, which may be used. This capability of handling varied media leads to the term multimedia communications center. A multimedia communications center may be a combination CTI and DNT center, or may be a DNT center capable of receiving COST calls and converting them to a digital DNT format. The term communication center will replace the term call center hereinafter in this specification when referring to multimedia capabilities.
In typical communication centers, DNT is accomplished by Internet connection and IPNT calls. For this reason, IPNT and the Internet will be used in examples to follow. It should be understood, however, that this usage is exemplary, and not limiting.
Keeping contact histories, reporting statistics, creating routing rules and the like becomes more complex as newer types of media are added to communication center capability. Additional hardware implementations such as servers, processors, etc. are generally required to aid full multimedia communication and reporting. Therefore, it is desirable that interactions of all multimedia sorts be analyzed, recorded, and routed according to enterprise (business) rules in a manner that provides seamless integration between media types and application types, thereby allowing agents to respond intelligently and efficiently to customer queries and problems.
A customer-interaction network operating system for managing interactions in a multimedia communication center is known to the inventors and described in disclosure of U.S. Pat. No. 6,108,711 with reference to the cross-reference section of this specification. The system has an external media layer for managing media contact between customers and the communication center, a workflow layer for processing customer interactions and routing events to enterprise agents and knowledge workers; and an internal media layer for managing media contact with the agents and knowledge workers. The workflow layer captures each transaction, prepares a text version of at least a portion of each non-text transaction, and extracts knowledge from the text transaction or text version of a non-text transaction to be stored in a knowledge base for later use in routing and other management functions. All transactions, text versions, and extracted knowledge is related in storage for future analysis and use.
Due to modernization of contact centers and to incorporation of full multimedia capabilities and recovery capabilities of contact history, a new breed of center agent has emerged that can provide assistance with specialized skill-based knowledge that conventional center operative personnel do not normally possess. This newer type of agent is termed a knowledge worker (KW) in the art.
A knowledge worker, weather an agent or specialized technician, generally has all of the resource in the way of customer data, interaction data, product data, and multimedia support at his fingertips as long as he or she is operating from a designated PC/VDU or other supported station within the communication center. In some cases, a knowledge worker may have full data access and multimedia support if he is located off-site but is linked to the center by a suitable data-network connection such as from a home office or remote station.
When a knowledge worker is away from a home-center such as on the road, or at a client location, he is generally limited in data access and interaction capability with his or her home communication-center data and tools. In some cases this may be a liability to the center. In many cases she/he will be limited to specific data that was carried along, or that may be downloaded from the center to such as a cellular telephone, a personal digital assistant (PDA) or a Laptop computer. Moreover, a mobile knowledge worker in the field may also be limited in providing service to the home-center by virtue of the same data-access limitations.
In typical contact centers, which may also include multimedia communication centers, the preponderance of incoming and outgoing interactions are processed by voice (DNT) or Web-based self service interfaces or by communication-center agents located within the domain of the center and managed through a communication center environment. However, many interactions cannot be successfully processed through client self-service interfaces or on-site agents often because of a high level of assistance required. Such interactions require the expertise of a knowledge worker.
Knowledge workers are not required for routine service assistance or other duties that are routinely performed within the domain of the center. As a result, they are typically located off site in a pool or remote to the extent of performing as a home-based or traveling workers. Therefore, standard communication center control systems and procedures cannot be applied to such knowledge workers. Often this problem is due to an absence of a CTI link established between the location of the knowledge worker and the communication center.
Off-site knowledge workers are mobile and typically operate using a variety of communication equipment (non-CTI telephone, personal digital assistants [PDAs], wireless Web, etc.) and using applications that are not assimilated in standard or unified array throughout the communication environment. Therefore, it becomes increasingly difficult to provide management from the communication center in terms of state control and report accessibility.
Remote knowledge workers are, from a control and management standpoint, invisible to standard CTI-enabled facilities. Not having the ability to manage these workers causes the ongoing costs associated with doing business from a communication center to rise.
The inventors are familiar with certain hardware/software methods for providing access to communication center facilities using telephony switch control or other first-party control methods. In these methods call center services are supported by cooperation between software at the CTI processor and the computer platform at the remote station. In one embodiment the data link, once established, is kept open while calls continue to be switched to the remote station. In another embodiment after an initial agent log in, dial up is done from the remote station upon detecting calls from the call center by a TAPI compliant device. A reduced log is performed at the CTI processor at the call center to save time. In yet another method, the CTI processor establishes the data connection each time using a modem bank adapted for dialing. The modem bank switches the call from the call center to the remote station. A plurality of remote stations may be thus supported.
A drawback with these system types is that it requires first-party control equipment established at the remote agent workplace. The first-party control equipment controls the remote agent phone separately from the agent's computer platform.
A proxy system is known to the inventor and described in disclosure of U.S. patent application Ser. No. 09/405,335 listed in the cross-reference section of this specification. This system enables a worker remote from a communication center and limited to a light computer device unable to operate as a workstation at the communication center to operate with full access to data and software at the communication center. A proxy server, core to the system, has a two-way data link to the light computer device operated by the remote agent, and executes software, which ascertains the hardware and software characteristics of the light device. The proxy server accesses communication center data at direction from the light device, operates communication center software tools, and provides results to the light device over the communication link in a form usable by the light device.
The proxy server accesses communication-center data at direction of the light device, operates communication center software tools, and provides results to the light device over the communication link in a form usable by the light device. This approach suggests a general method for management of remote knowledge workers from within a contact center (CC). In particular, it suggests using a proxy server as a mediator between a contact center environment and a remote agent device. However, it is still limited in terms of further enhancement that might enable more specific techniques and mechanisms. Part of this solution includes a remote option that requires special equipment to be provided and connected to the remote agent's telephone set, which in addition, must be a specially adapted telephone set to accept the equipment.
Some enhancement is provided over the proxy system by yet another system known to the inventors and referenced in this specification as U.S. patent application Ser. No. 10/269,124. This system is a network system for managing remote agents of a communication center. The system includes a primary server connected to the network the primary server controlling at least one routing point. The system has one or more secondary servers distributed on the network and accessible to the remote agents, the secondary server or servers have data access to agent computing platforms and communication peripherals. The system utilizes a software suite distributed in part to the secondary server or servers and distributed in part to one or more agents computing platforms and peripherals, the software suite includes protocol for reporting agent status data. The system monitors agents computing platforms and peripherals for activity state through the one or more secondary servers. The one or more secondary servers exchange control messaging and event related data using ISCC supported protocols with the primary server over the network for intelligent routing purposes.
While the above-described system provides full and unfettered access to communication-center data and services for a mobile or otherwise remote knowledge worker, such interaction is limited in terms of control signaling and interaction management that might be initiated from the side of the knowledge worker.
What is clearly needed is a system and methods for managing remote knowledge workers using state-or-art voice technologies that enable human-to-application control and interaction.
SUMMARY OF THE INVENTION
In a preferred embodiment of the present invention a network system for enabling voice interaction between communications-center applications and human agents remote from the center is provided, comprising a primary server connected to the network the server controlling at least one routing point used by the center, a secondary server connected to the network the secondary server for generating and serving voice extensible markup language, a voice gateway associated with the secondary server, the gateway for executing voice extensible markup language and recognizing speech input, and a software platform based in the primary server and distributed in part as a server application to the secondary server, the software suite functioning as a data transformation interface between the center applications and the gateway. This system is characterized in that the remote agents report state information over the network to the center using speech, the speech recognized and text rendered at the gateway, the text transformed to one or more formats understood by the primary server and certain ones of the center applications and, wherein data sourced from center applications destined to remote agents is provided and incorporated to one or more VXML scripts at the secondary server, the scripts executed by the gateway, the gateway connecting to voice-capable devices used by the remote agents over the network, the scripts played as synthesized voice media.
In some preferred embodiments of the system the network includes at least one of a wired telephony network, a wireless communications network and a wide area network all bridged for seamless communication. Also in some preferred embodiments the network includes the Internet network, the public switched telephone network, and a wireless digital network. In still further preferred embodiments the communications center applications include computer telephony integration compatible applications. In yet further preferred embodiments the at least one routing point is a private branch exchange telephony switch.
In yet other embodiments of this system the secondary server is a Web server and the distributed part of the software suite is a Web-based application. In yet other embodiments the gateway contains an interpreter application that controls automated speech recognition software and text to speech software. In still other embodiments the voice-capable devices are COST telephones, and in some cases the telephones are cellular telephones.
In still other cases the voice-capable devices are one of an IP telephone, a personal digital assistant, or a computer telephony application, and in others the server application uses XML-Style-Sheet-Language-Transformation for transforming VXML to XML-based languages. In yet other cases the data sourced from center applications includes center-archived data and data related to active telephony events, and in others the VXML scripts are generated from VXML templates during active interaction and executed immediately thereafter in event routing scenarios.
In another aspect of the present invention a method for receiving at a communications center routing point state information, the information reported vocally from a non-CTI-enabled agent telephone remote from the center and routing a subsequent telephony event and optionally, event-related data, from the routing point to the remote agent's telephone based on at least the reported state information and optional caller interaction is provided, comprising steps of (a) connecting to and interacting with a predetermined telephone number dialed from the agent telephone, the number registered to a gateway application, the interaction therewith comprising at minimum prompted vocalization of the agent state reported thereto; (b) recognizing at the gateway the vocalization of state information and populating one or more data fields of a VXML script with a text version of the state information reported; (c) transforming the language of the script to one or more languages understood at the routing point rendering the information available to the routing point; (d) receiving an incoming event destined for the remote agent at the routing point and optionally, interacting with the caller from the routing point to obtain event related data; (e) routing the event to the agent telephone, simultaneously making the event related data available to a VXML-enabled server; (f) transforming the event related data to a form useable in one or more data fields of a VXML script; and (g) establishing a telephone connection to the remote agent, executing the script once connected.
In some preferred embodiments of the method in step (a), the gateway application is VXML-enabled. Also in some preferred embodiments, in step (a), the agent telephone is a cellular telephone and the connection method is wireless. In some other preferred embodiments, in step (a), the agent telephone is a plain old telephony service (POTS) telephone and the connection is made through normal public-switched-telephone channels. In still others, in step (a), the gateway application is associated with a VXML-enabled Web server. In yet others, in step (b), the gateway uses automated speech recognition to interpret vocalized state information.
In some embodiments, in step (b), the VXML script is generated by the Web server, and in others, in step (c), language transformation includes use of XSLT and is performed by a Web server application. In still other embodiments, in step (c), a Web server serves the data to a server controlling the routing point the server hosting an application for implementing any required configurations or notifications to other applications. In still other embodiments, in step (c), the information is XML-based, and in yet others, in step (d), interaction with the caller is performed using interactive voice response technology.
In still further embodiments, in step (d), event related data is supplemented with archived data, and in further embodiments, in step (e), the event related data is uploaded as XML data to the server. In some cases, in step (e), the VXML-enabled server is a Web server, and in others, in step (f), the transformation of data is performed using XSLT by a Web application. In still other cases, in step (g), the telephone connection is established and script execution is performed by a VXML-enabled gateway, and in still others, in step (g), executing the script results in voice synthesis of the populated dialogue fields of the script played over the telephone connection.
In some other cases of this method, in step (g), the telephone is not the same telephone used to pick-up the related call routed in association with the event related data, and in others, in step (g), the agent is already connected to the caller and places the caller on hold to receive the event related data on the same telephone.
In yet another aspect of the present invention, in a VXML-based telephone communication system, a method for alerting a remote service agent to activate a networked workstation that is currently offline to receive an automated data update or service configuration is provided, comprising steps of (a) providing a text rendering comprising the alert to a VXML-enabled server; (b) transforming the text rendering to a form useable in a VXML script; and (c) establishing a telephone connection with the agent and executing the script once connected.
In some preferred embodiments of this method, in step (a), the text alert is a request from a communications application, the request tied to an activity threshold detected by the application. In other preferred embodiments, in step (a), the application is a load balancing application and the activity threshold quantifies a current call load. In yet other preferred embodiments, in step (a), the server is a Web server the alert uploaded thereto from a contact center.
Also in some preferred embodiments of this method, in step (a), the alert is rendered in the form of XML. In others, in step (b), transformation includes use of XSLT and is performed by a Web server application. In yet others, in step (b), a VXML script is generated containing the alert. In still others, in step (c), wherein the connection is established by a VXML-enabled gateway associated with the server.
In still further embodiments of this method, in step (c), the connection is established to a cellular telephone through a wireless network, and in still further embodiments, in step (c), the connection is established to a plain old telephony service (POTS) telephone and the connection is made through normal public-switched-telephone channels. In still others, in step (c), the telephone connection is established and script execution is performed by a VXML-enabled gateway.
In some, in step (c), executing the script may result in voice synthesis of the populated dialogue fields of the script played over the telephone connection, and in other cases, in step (c), script execution involves text-to-speech technology.



BRIEF DESCRIPTION OF THE DRAWING FIGURES
FIG. 1 is an exemplary overview of a multimedia-interaction storage system within a communication center according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a connective relationship between a proxy server and a hand-held computer operated by a mobile knowledge worker according to a preferred embodiment of the present invention.
FIG. 3 is an architectural overview of a state and interaction management system according to an embodiment of the present invention.
FIG. 4 is a block diagram illustrating system connection hierarchy according to an embodiment of the invention.
FIGS. 5 through 8 are block diagrams illustrating call control use cases according to an embodiment of the present invention.
FIG. 9 is a block diagram illustrating components of the Knowledge Worker software and integration thereof to a communication center framework.
FIG. 10 is a block diagram illustrating components of the knowledge worker platform.
FIG. 11 is a configuration model for knowledge worker state information.
FIG. 12 is a data model for presenting an active knowledge worker state.
FIG. 13 is a process flow diagram illustrating the sequence of a successful internal call.
FIG. 14 is a process flow diagram illustrating a variation of the sequence of FIG. 13 with a forced answer.
FIG. 15 is a process flow diagram illustrating the sequence of a failed internal call.
FIG. 16 is a process flow diagram illustrating the sequence of an internal call with a forced timeout before PIM decision according to an embodiment of the invention.
FIG. 17 is a process flow diagram illustrating the sequence of a successful external call from agent to remote KW according to an embodiment of the present invention.
FIG. 18 is a process flow diagram of a failed external call according to an embodiment of the present invention.
FIG. 19 is an architectural overview of a state and interaction management system enhanced with voice-management capabilities according to an embodiment of the present invention.
FIG. 20 is a block diagram illustrating system connection hierarchy including voice-based enhancement according to an embodiment of the invention.
FIG. 21 is a process flow diagram illustrating steps for VXML-enabled remote-KW state reporting to a CC environment according to an embodiment of the present invention.
FIG. 22 is a process flow diagram illustrating steps for VXML-based transfer of call data to a remote KW from a communication center according to an embodiment of the present invention.
FIG. 23 is a process flow diagram illustrating steps for issuing a VXML-based alert to login and receive a KW update to a remote workplace.
FIG. 24 illustrates the structure of messages in KWP.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is an exemplary overview of a multimedia-interaction storage system within communication-center architecture 9 according to an embodiment of the present invention. Communication center 9 is illustrated solely for the purpose of illustrating just one of many possible system architectures in which the invention may be practiced. Center 9, which in a preferred embodiment comprises both conventional and data-network telephony (DNT) apparatus, is exemplary of an architecture that could facilitate a network operating system such as CINOS (known to the inventor). Communication center 9 may be assumed to have all the internal components described in the background section such as agent workstations with LAN connected PC/VDUs, agent's COST telephones, and so on. Such a communication center operating an enhanced interaction network operating system such as CINOS would employ knowledge workers trained to interact with associates, clients, and in some cases internal systems that require programming, scripting, researching, and the like.
For the purposes of this specification, a knowledge worker (KW) is a highly skilled individual that is at least trained in systems programming and implementation using software tools. A KW is also typically trained in the use of all supported communication media and applications that may be used with a network operating system. In many instances, a KW may also handle high level sales and service while functioning as an agent for the communication center both inside the center and at a client's location. However, as described in the background section, a KW away from home (in the field) will not generally have full access to all communication center data and tools unless he/she carries a powerful computer station along, or commandeers a client's station having suitable connectivity and ability to perform all of the applications at the home station. Therefore, having many such highly skilled workers in the field and not in the communication center may be, at times, a considerable liability to the communication center, but unavoidable at times. It is to this aspect that the present invention mostly pertains.
Referring again to FIG. 1, a multimedia data-storage system represented herein by a centralized grouping of connected and labeled text blocks is provided and adapted to facilitate rules-based storage of all communication-center interaction between agents and clients including co-workers and associates. Such a representation illustrates an important part of CINOS function.
At the heart of the storage system is a mass-storage repository 11 adapted to store multimedia interactions as well as text-based related files. Repository 11 may utilize any form of digital storage technology known in the art such as Raid-Array, Optical Storage, and so on. The storage capacity of repository 11 will depend directly on its implementation with regard to the size of communication center 9 and predicted amount of data that will be stored and kept by the system.
In this example, repository 11 is divided logically into two sections. One section, multimedia information system (MIS) 15, is responsible for storing copies and records of all multimedia interactions, defined as media that is not text-based, such as audio, video, and graphics-based media. All multimedia interactions are stored in MIS 15 whether incoming, outgoing, or internal. A second section, herein referred to, as text section 13 is responsible for all text-based interactions as well as text versions and annotations related to non-text files.
Repository 11 is connected to a communication-center local area network (LAN) 45. Repository 11 is accessible via LAN 45 to authorized personnel within a communication center such as agents, KWs, or the like using computerized workstations connected on the LAN, and may, in some instances, also be made available, in full or in part, to clients and associates communicating with the call center. A network router (RTN) 19 is shown connected to LAN 45 via network connection 41. In this example, network router 19 is the first point within a communication center wherein data network telephony (DNT) media arrives. Network router 19 is exemplary of many types of routers that may be used to route data over LAN 45. An Internet-protocol-network-telephony (IPNT) switch 35 is connected to network router 19 via a data link. IPNT switch 35 further routes or distributes live IPNT calls that do not require routing to a live agent. IPNT calls that are routed to live agents are sent over connection 41 to LAN 45 where they reach agent PC/VDU's at agent and KW workstations connected to the LAN (PC/VDU is exemplary) or DNT-capable phones (not shown) as illustrated via directional arrows.
In the multimedia storage system represented herein, a KW such as one operating at a provided work station (PC/VDU 17) typically has access to all multimedia interaction histories that are stored in repository 11. CINOS applications (not shown) executable on workstations such as PC/VDU 17 empowers the KW to facilitate many tasks in the realm of communication center functionality. Such tasks include, but are not limited to, researching and creating virtually any type of system report regarding data held in repository 11, updating and creating new management applications that may alter or enhance CINOS functionality, and other such system-administrator-type duties. LAN 45 is the network through which the “in-house” KW is empowered to access such as a CINOS MGR server 29, repository 11, and other connected data sources and systems (not shown) that may be present in a communication center such as center 9.
By reviewing capabilities of the multimedia storage system of communication center 9, a full appreciation of the necessity of various in-house skills possessed by a KW, such as the skill of operating at station 17, may be acquired by one with skill in the art. Therefore, a detailed review of communication-center operation, particularly storing interactions follows.
Creating text-based versions of non-text multimedia transactions may, in some cases, be accomplished by an automated method. For example, a digital voice attendant 37 is provided and linked to IPNT switch 35. Digital voice attendant 37 may be of the form of a DNT-capable IVR or other digital voice-response mechanism as may be known in the art. Such automated attendants may interact with a voice caller instead of requiring a live agent. A speech-to-text converter 39 is provided and linked to voice attendant 37. As digital voice attendant 37 interacts with a caller, speech-to-text converter 39 converts the speech to text. Such text may then be stored automatically into text section 13 of repository 11 and related to the also-recorded audio data. Part of the purpose and rationale for the creation of text documents related to non-text files is that text can be more easily mined for content and meaning than non-text files.
It will be apparent to one with skill in the art that as speech recognition technologies are further improved over their current state, which is adequate for many implementations, reliable text versions of audio transactions are not only possible but also practical. Such speech-to-text conversions are used here only for the convenience of automation wherein no live attendant is needed to transcribe such audio data. The inventor is familiar with such converters as used in such as the CINOS system incorporated herein by reference. Such converters provide convenience in transaction recording but are not specifically required to achieve the interaction storage objectives of communication center 9. A KW such as one operating from station 17 may be called upon to create and set-up the various rules-based applications that are required for routing and determining when digital voice attendant 37 will interface with a client or associate.
An automated services system 43 is provided and has a direct connection to section 13 of data repository 11. System 43 is adapted to handle automated interaction and response for certain text-based interactions such as e-mails, facsimiles, and the like, wherein a complete text record of the interaction may be mirrored, or otherwise created and stored into text section 13. For example, a fax may be sent and mirrored into section 13 or, perhaps recreated using an optical character recognition (OCR) technique and then entered. Physical text-documents such as legal papers and the like may be automatically scanned, processed by OCR techniques, and then entered into text section 13 before they are sent to clients. There are many possible automated techniques for creating and entering text files into a database including methods for generating automated responses. A KW such as one operating at station 17 may be called upon to oversee the creation and operation of all automated services insuring such as prompt response time, queue management, accurate threading and organization into a database, updating or adding enhanced capability, and so on.
With respect to the dual telephony capability (COST/DNT) of communication center 9, a central telephony switch 21 is provided to be a first destination for COST calls arriving from, for example, a PSTN network. Switch 21 may be a PBX, ACD, or another known type of telephony switch. Internal COST-wiring 31 connects telephony switch 21 to agent's individual telephones (not shown). Switch 21 is enhanced by a computer-telephony integration (CTI) processor 25 running an instance of a T-server CTI suite and an instance of a Stat-server, which are software enhancements known to the inventor. Such enhancements provide CTI applications, such as intelligent routing, statistical analysis routines, and so on. CINOS as previously described and disclosed in the co pending prior application incorporated herein is adapted to be integrated with such software when present in a CINOS-enhanced communication-center. A KW such as one operating station 17 may be called upon to compile and analyze results provided from statistical analysis routines executed at processor 25 for the purpose of creating new routing rules of routines that further enhance functionality.
An intelligent peripheral in the form of a COST IVR 23 is provided for the purpose of interacting with callers seeking information and the like who do not require connection to a live agent at the communication center. IVR technology may comprise voice response, touch tone interaction, or a combination of such known technologies. IVR 23 is linked to processor 25 and also to automated services 43. An example of an IVR interaction may take the form of a presentation to a caller from the PSTN of options for using an automated service such as those described above, or perhaps waiting for a live agent. A KW such as a KW operating at station 17 may be called upon to create and install appropriate interaction scripts into IVR 23 for interaction with clients and associates calling in from the PSTN.
A CTI to DNT interface 27 is provided for the purpose of converting COST data to digital mode compatible with DNT so as to be adapted for digital storage and interaction according to CINOS functionality and enterprise business rules. Bi-directional arrows illustrated between interface 27 and IVR 23 represent the ability to route interactions in either direction. COST to DNT conversion may be accomplished in IVR 23 in addition to or in place of interface 27. The connection architecture presented herein is exemplary only.
A speech-to-text converter 33 is provided for converting audio from the CTI side to text for entering into text section 13 as was taught with regard to converter 39 on the DNT side. Actual recorded media interactions are illustrated entering MIS 15 after text versions are rendered and entered into section 13 however this is not required. In some instances text versions of multimedia interactions may be rendered after the interaction is stored. There is no limitation regarding sequence. It is sufficient to say that converters 39 and 33 are capable of real-time conversion and entry.
Server 29 shown connected to LAN 45 is adapted to host a CINOS MGR (operating system) application, which provides control and organization with regard to various functions provided by the CINOS system as a whole. The storage architecture represented herein by the described text blocks, and all it encompasses in this embodiment, is meant only to be an example architecture as may be dedicated to the storage and organization of communication-center data according to enterprise rules.
It will be appreciated by one with skill in the art that a network operating system including a system for automatically storing and recording virtually all communication center transactions requires substantial skill in set-up, implementation, and administration both on the COST side and the DNT side within a communication center such as center 9. Moreover, a substantial network operating system such as CINOS has client-side software applications that subscribers or associates must utilize in order to achieve full seamless interaction with agents and subsystems operating according to the system parameters. In some cases, the operating system may span several communication centers over a large technical campus connected by a WAN. This fact requires that system administrators and troubleshooters be available to assist in facilitating and preparing client and associate CPE for interacting with communication center equipment and software according to system parameters.
If a KW such as one operating at station 17 could be mobilized to operate effectively outside of communication center 9 such as at a client location, and still be able to service center 9 from the field, then an enterprise hosting center 9 and perhaps other like centers could save considerable resources associated with training and expenses incurred for maintaining a larger number of fixed KW's.
The inventor provides a method and apparatus whereby such a mobile KW could have full and unfettered access to virtually all data systems and sources housed within his home communication center without having to carry a powerful station or inconveniencing a client by commandeering client resources. This inventive method and apparatus is described below in enabling detail.
FIG. 2 is a block diagram illustrating a connective relationship between a proxy server 49 and a hand-held computer 47 operated by a mobile KW according to a preferred embodiment of the present invention.
Hand-held computer 47 has a CPU 63, a memory 57, a video adapter circuitry 55, and a modem 65 all communicating on bus 59. Video circuitry 55 drives a display 61. Memory 57 may be any of a number of types, such as flash, random access (RAM), read-only (ROM) or similar type, or a combination of these. There may be other components as well, but these are not shown to facilitate description of the unique aspects of this embodiment of the invention. The hardware arrangement is intentionally shown as general, and is meant to represent a broad variety of architectures, which depend on the particular computing device used. Possibilities include many types of portable hand-held computers and also adapted cellular phones capable of receiving and sending video. A mobile KW would use such as device for communication and data access while in the field.
Proxy-Server 49 is a relatively sophisticated and powerful computer typical of computers used as WEB servers, although the use in this embodiment of Proxy-Server 49 is not the conventional or typical functions of a WEB server as known in the art. Proxy-Server 49 has a CPU 69, a memory 71, and a means of connecting to a data network such as the Internet. The network connecting means in this embodiment is a modem 67 communicating on a bus 73. In other embodiments the network connecting means may be a network adapter or other.
Modem 67 in the embodiment shown is compatible with modern 65 in computer 47. A communication link 66, which may be facilitated by a telephone line or a wireless connection, facilitates communication between computer 47 and server 49. The means of connection and communication can be any one of several sorts, such as a telephone dial-up, an Internet connection through an ISP, or a cell telephone connection, wireless IP networks or other wireless link, including private cell or wireless WAN or LAN. A communication port 75 connects to communication link 77 providing communication, in this case, through the Internet, to a suitable station or server in communication center 9 of FIG. 1. In this example, the linked station is preferably the KW's own home-center workstation or PC/VDU 17 from FIG. 1.
Port 75 and link 77 may also be any one of several types, or a combination of types. In some embodiments, server 49 and station 17 will be nodes on a local area network (LAN) covering a large technical campus, and the link between the two servers will be a serial network link with port 75 being a LAN card according to any of a number of well-known protocols. In other embodiments link 77 may be a telephone line, and port 75 will be a dial-up telephone modem. In still other embodiments, this link could be a parallel communication link. This link could also be through the Internet or other wide area network.
Proxy-Server 49 exists in this embodiment of the invention to perform functions enabling hand-held computer 47 to operate as an apparently powerful web-browsing machine, even though the stand-alone capability of computer 47 will not even begin to support such functionality. As is well known in the art, for a computer to be a fully functional web-browsing system requires a high-performance CPU and execution of relatively sophisticated web-browsing and display applications. Such a computer typically has to operate, as described above, at or above a million instructions per second.
Proxy-Server 49 executes a program 53 the inventor terms an Inter-Browser. The Inter-Browser combines functionality of a conventional web browser with special functions for recognition of and communication with hand-held computer 47. Commands from computer 47, such as, for example, a command to access a WEB page on the World Wide Web, or a server or station such as station 17 within a home communication center such as center 9, are received by Proxy-Server 49 operating the Inter-Browser program, and acted upon as though they are commands received from a conventional input device such as a keyboard.
Following the example of a command communicated over link 66 from computer 47 for accessing station 17, shown herein and in FIG. 1, Proxy-Server 49 accesses the appropriate server (in this case station 17) over link 77, and transmits the appropriate data over link 77. Proxy-Server 49 therefore has HTML and TCP/IP capability for accessing source data over the Internet. By hosting other routines that allow interface with data systems, data sources and such as station 17, a KW may have full access to virtually any type of data or software tools that he could access from his station if he were operating from within center 9.
Proxy-Server 49, instead of displaying the downloaded data (or playing video and/or audio output, as the case may be, depending on the downloaded data), translates the data to a simpler communication protocol and sends the data in a TCP/IP protocol to computer 47 for output over link 66. Link 66 becomes a dedicated TCP/IP pipe to and from Proxy-Server 49. Proxy-Server 49 thus acts as a proxy for computer 47, performing those functions of WEB browsing and data download that computer 47 cannot perform under its own computing power.
Computer 47, through execution of a program the inventor terms a NanoBrowser 51 sends commands entered at computer 47 over link 66 to Proxy-Server 49 and accepts data from Proxy-Server 49 to be displayed on display 61. Data is transferred in a protocol the inventor terms HT-Lite. The NanoBrowser also provides for interactive selection of links and entry into fields in displays, as is typical for WEB pages displayed on a computer screen. The NanoBrowser provides for accepting such entry, packaging data packets in TCP/IP form, and forwarding such data to Proxy-Server 49, where much greater computer power provides for efficient processing.
One of the processing tasks that has to conventionally occur at the browser's computer is processing of received data into a format to be displayed on whatever display the user has. There are, as is well known in the art, many types of displays and many display modes. These range all the way from relatively crude LCD displays to high-resolution, multi-color displays. There are, in addition, a number of other functions that have to be performed conventionally at a user's computer to interact effectively with the WWW. For example, audio and video and some other functions typically require supplemental, or helper, applications to be installed on or downloaded to a field unit to process audio and video data and the like.
Most data transferred by WEB servers assumes relatively high-end displays, such as color SVGA displays as known in the art. Data accessed through the Internet from such as MIS database 15 of FIG. 1 would also assume a high-end display and large file size dependent on the type of media accessed. In PDAs, cellular video phones, and digital organizers, such as those anticipated for use in the present invention, the displays are relatively low resolution, and are typically LCD in nature. In the system described with the aid of FIGS. 1 and 2, inter-Browser program 53 at Proxy-Server 49 and the HT-Lite Nano-Browser 51 at hand-held unit 47 cooperate in another manner as well. When one connects to the Proxy-Server the hand-held unit, through the HT-Lite NanoBrowser program, provides a signature, which the Proxy-Server compares with logged signatures.
An ID match when connecting a hand-held unit to the Proxy-Server provides the Proxy-Server with information about the hand-held unit, such as CPU type and power, screen size, type and resolution, presence of a pointer device, and sound capability. The Proxy-Server then uses this specific information to translate HTML and other files from the Internet to a form readily usable without extensive additional processing by the hand-held unit. For a small monochrome LCD display a 60 k/70 k JPEG file becomes a 2 k/4 k bit map, for example. Also, multi-file pages are recombined into single file pages. This translation also minimizes bandwidth requirement for link 66, and speeds transmission of data. In this way, a mobile KW may have access to all types of data sourced at his or her home communication center. Through proxy server 49, a KW may also initiate and receive multimedia interactions including high-end transactions while operating unit 47.
It is in this ability of the Proxy-Server to do the heavy computing, of which the translation of HTML files is a single example, that is responsible for a unique ability of hand-held devices in practicing embodiments of the present invention to accomplish functions that they could not otherwise accomplish, and to do so without inordinate usage of stored energy. In various embodiments of the present invention, hand-held devices with CPUs having an ability to run at from 0.001 to 0.05 MIPs can serve as WEB browsers, displaying WEB pages and allowing users to initiate on-screen links and to input data into input fields. Given the above example of MIPs requirement for WEB browsing, where currently available solutions may provide a 5× advantage, practicing the present invention can provide an advantage of up to 2000×, resulting in battery life approaching 2 weeks (given a 100 g battery weight), where expected battery life for similar functionality with a powerful CPU was calculated as 8 minutes.
As a given example of an instance wherein a mobile KW may provide full service to a home center, consider the following: Assume a mobile KW from center 9 of FIG. 1 is at a client premise installing network software and therefore not at center 9. He opens his or her hand-held device 47 and plugs in to a nearby telephone jack for the purpose of establishing a connection to proxy server 49, which in this case, may be implemented anywhere on the Internet. While he is configuring software on a client's computer, an important call from communication center 9 arrives through server 49 (hosted by the enterprise) to his hand-held 47. The call is pre-processed at proxy server 49 by Inter-Browser 53 and transmitted over link 66 to device 47 where it is displayed according to device parameters and rules associated with Nanno-Browser 51.
Suppose that the call requests that the KW rewrite a script used in such as digital voice attendant 37 because the current message has become corrupted or is not playing properly. The KW may then initiate a multimedia call to his resident workstation such as station 17 (FIG. 1) through proxy 49 by way of link 77. The call would arrive at router 19 and be routed directly over link 41 to station 17 based on identity thus by-passing normal DNT call handling routines. Part of the call includes a command to allow the KW to control the operation of station 17 by proxy. He may then use command keys to cause Inter-Browser 53 to browse a list of pre-prepared DNT scripts stored at station 17. Such a list may appear as a text summary on such as display 61 of device 47. The KW may then scroll through and select a script thus issuing a command to station 17 (by proxy) to access attendant 37 (FIG. 1) and replace the message which is overwritten by the new one.
It will be apparent to one with skill in the art that there are a wide variety of interaction possibilities by virtue of the method and apparatus of the present invention. In the cited example, a DNT call was made to the KW's computing device 47. Therefore, proxy 49 acts in one aspect as a call router. In another embodiment, a KW may accept a cellular call or a COST call and respond to the request-using device 47.
In still another embodiment, a KW operating a portable device such as device 47 may temporarily plug in to any connected LAN network such as may be found connecting a large technical campus or the like. Upon plugging in, the KW may initiate an outbound-call to server 49 in the Internet and receive a temporary IP address and device authentication for communicating with such as center 9.
To practice the invention, given an accessible WEB server configured as a Proxy-Server according to an embodiment of the present invention, one needs only to load HT-Lite NanoBrowser software on a computer and to provide Internet access for the computer, such as by a telephone modem. In many cases, candidate computers have built-in modems. In other cases, an external modem may be provided and connected. In the case of hand-held devices, such as PDAs and organizers, some have an ability to load software via a serial port, a PC card slot, through the modem extant or provided, or by other conventional means. In some cases, all operating code is embedded, that is, recorded in read-only memory. In some of these cases, adding HT-Lite routines may require a hardware replacement. In virtually all cases of hand-held devices, however, the necessary routines can be provided.
One of the components of the HT-Lite Nano-Browser software (51) is a minimum browser routine termed by the inventor a Nano-Browser. The Nano-Browser is capable of exerting a URL over the modem connection to access the Proxy-Server. Theoretically, one could exert a URL of a WEB site other than the Proxy-Server, but the result would be an unusable connection, as the small hand-held unit would not be able to handle the sophisticated data provided to be downloaded unless it were such as e-mail or other simple data.
Connection to the Proxy-Server provides the Proxy-Server with information as to the KW and the KW's equipment. These operations proceed in a manner well known in the art for such log-on and security transactions. Once access is extended to the KW, an interface is provided for the KW to browse in a manner very similar to well-known WEB interfaces. That is, the KW's display (61) provides an entry field for a URL which is asserted by an enter key or the like. There may also be an address book for often-visited sites, as is common with more powerful machines.
Similarly, there are no strict requirements for the location of Proxy-Server 49 or of accessible data sources or home stations in embodiments of the present invention. No restrictions are placed on such locations beyond restrictions on servers/nodes in general. In one embodiment, a corporation with multiple and perhaps international locations may have a local area network with one or more Proxy-Servers, and employees, particularly those employees whose job functions require travel, are provided with hand-held digital assistants according to an embodiment of the present invention. Multiple functions are then provided over Internet connection in Internet protocol, far beyond what could otherwise be provided with small and inexpensive units; and battery life for these units (device 47) would be far beyond what would otherwise be expected. Furthermore, a company could reduce or streamline a force of KW's to a smaller number of mobile KW's with enhanced portable devices such as device 47.
It will be apparent to one with skill in the art that the device-proxy method such as the one described above could be applied to a wide range of communication center architectures and network operating systems without departing from the spirit and scope of the present invention. A KW operating a device such as device 47 may operate while traveling to or from client locations as well as on-site at a client location. Types of devices used to communicate with proxy server 49 may vary without departing from the spirit and scope of the present invention. For example, PDAs, small notebook computers, some cellular telephones, CE type machines; all may be adapted for a proxy relationship.
Extended Management Control
According to another embodiment of the present invention an enhanced method and system is provided for enabling full and unobstructed access to contact center services and data for remote knowledge workers, including provision of full state and interaction management capabilities to the center managing the knowledge workers. The method and apparatus of the present invention is described in enabling detail below.
FIG. 3 is an architectural overview of a state and interaction management system implemented from a contact center 300 according to an embodiment of the present invention. Contact Center 300 can be employed in any mix of communication environment. For example, in a dually-capable COST/DNT multimedia environment, in a COST only environment, or in a DNT only environment. In the present example, a COST environment is illustrated. Likewise, one with skill in the art will recognize that there may be more and different types of known communication center equipment present and cooperative with the system of the invention other than what is illustrated in this example without departing from the spirit and scope of the present invention.
Center 300 utilizes a central office telephony switch 316, which in this case, is a private branch exchange (PBX) switch. Switch 316 may also be an automated call distributor (ACD) or another known type or manufacture of telephony switch. Switch 316 is a relatively dumb switch, but is enhanced for intelligent routing and control by a CTI processor 317 running an instance of CTI transaction server (T-Server) software. CTI enhancement in this example is driven by T-Server software, which is an application that controls switch 316 and provides the intelligent computerized rules and executable routines for interaction management and state detection and management. A typical CTI link 315 connects processor 317 to PBX switch 316 in this example.
An agent workplace 319 is illustrated within the domain of center 300. Workplace 319 is adapted minimally in this example with an agent desktop computer 320 and an agent telephone 321. It will be apparent to one with skill in the art that there will, in actual practice, be typically many agent stations provided and adapted for normal communication center routine business and communication. The inventor illustrates only one station and deems the illustration sufficient for the purpose of teaching the features of the present invention in an enabling way.
In this case, agent telephone 321 is a COST telephone connected to PBX switch 316 by standard internal telephony wiring. Agent desktop 320 is connected to a communication center LAN illustrated by a LAN network 318 labeled T-Lib (for transaction library). A transaction library contains all of the business and routing rules applied to normal center interaction and operation. It may be assumed in this example, that other equipment (not shown) is connected to LAN 318 such as other agent stations, a customer information system, a product history database, and many other equipment types both client-oriented and service-oriented.
An agent illustrated herein as agent 322 uses telephone 321 and desktop computer 320 for the purpose of handling routine interactions such as purchase orders, order status reports, internal logging and reporting, and other tasks. In one embodiment, telephone 321 may be an IP-capable telephone and also may have a sound connection to desktop computer 320.
A COST telephony network 303 is illustrated in this example as a preferred telephony network bridging customers to center 300 using COST technology. Network 303 is a public telephony switch notably most local to center 300. Switch 323 is the last routing point in network 303 before making connection to switch 316 in a preferred embodiment. In one embodiment, switch 323 is CTI-enabled similarly to switch 316 within center 300 and communication center routines can be executed at switch 323 over a separate network connecting the CTI processors associated with both switches 316 and 323.
A customer 301 and a customer 302 are illustrated in association with telephone network 303, which is a public switched telephone network (PSTN) in this example. Customer 302 is illustrated as placing a call to center 300 through switch 323 and switch 316. In normal practice, the call of customer 302 will be internally routed using CTI intelligence to an agent or automated interface within center 300. In this case agent 322 receives the call on telephone 321. Desktop 320 will display any pertinent customer information obtained from pre-interaction with customer 302 or from data sources internal to center 300, or both.
A knowledge worker workplace 310 is illustrated in this example and is associated with communication center 300 by a network link 314 adapted for ISCC protocols. ISCC is an acronym for the well-known International Symposium on Computers and Communications. ISCC-developed protocols may be assumed to be practiced over network line 314 including a Flexible Interconnecting Protocol (FLIP).
It may be assumed then, in this example, that KW workplace 310 is located remotely from center 300 and outside of the physical domain of center 300. Workplace 310 may be associated with other KW workplaces in a remote contact center. In another embodiment, workplace 310 may be a home-based workplace. In still another embodiment, workplace 310 may be in a state of mobility such as in a vehicle or at a remote customer worksite. KW workplace 310 has a desktop computer 311 (or equivalent) and a KW telephone 312. A knowledge worker (KW) 313 receives calls from PSTN 303 that are directly placed from customers such as from customer 301, or calls that are received to and then redirected from center 300.
As described above, KW workplace 310 is not physically part of center 300 in terms of residing within a same building or physical structure. Rather, worker 313 is operating from a remote location. A major difference between the architecture of agent 322 and knowledge worker 313 is that worker 313 has no CTI link between a local switch and center 300. In this example, a local switch 304 is illustrated and represents a local network switch (PSTN) presumably closest to KW 313. In practice however, if workplace 310 is mobile, such as working while traveling, there may not be a specific permanent local switch from whence calls arrive to KW 313.
It will be recognized by one with skill in the art that in the mobile sense, even in a wireless and semi-permanent networked environment, the fixtures illustrated within workplace 310 may vary widely. For example, telephone 312 may be a cellular telephone with Internet capability and desktop 311 may be a PDA or a laptop. In a fixed but remote location such as a remote knowledge worker contact center, individual knowledge workers may still be highly mobile but connected for communication to a LAN inside the center using a variety of communication devices.
To facilitate connection from center 300 to knowledge worker workspace 310, a programmable T-server/Processor 305 is provided and distributed on a data packet network (DPN) such as, for example, the well-known Internet network. If workplace 310 is part of a permanent contact center operating remotely from center 300, then switch 304 and processor 305 may be part of the equipment maintained in the contact center. However, for knowledge workers that are home agents or highly mobile, then switch 304 and processor 305 are network level systems, switch 304 in the PSTN and processor 305 in a private or public DPN.
The fact that there is no CTI link to center 300 means that under normal circumstance, the activities of KW 313 in workplace 310 cannot be managed. The system of the invention is enabled by a software platform known to the inventor as a Knowledge Worker Platform (KWP) that functions in cooperation with hosting equipment, namely processor 305, to alleviate the requirement for a hardwired CTI link or other complicated connection methods, system dependant CPE, or complex client software applications. KWP is a proxy agent that receives KW status information (e.g. ready or not ready) from a KW device such as from desktop 311 and sets the information within CC environment at center 300. Status reporting is used for determining KW availability for routing determination. KWP also supplies the KW device with call-related information (e.g. customer/product information) when an event is routed.
Workplace 310 is connected to processor 305, running an instance of programmable T-server, by a network link 308. In this case, processor 305 is accessible from desktop computer 311. In this particular embodiment, desktop 311 and telephone 312 are permanent fixtures and workplace 310 is part of an established physical center. In this case, link 308 may be a LAN network providing connectivity to other KW stations. Similarly, telephone 312 would be just one of many connected to switch 304 by internal telephone wiring. In this case, telephone 312 is also connected to desktop 311 by a cable so that desktop 311 may monitor call activity on telephone 312. It will be appreciated that there are many other possible architectural scenarios both fixed and mobile using wireless technologies.
Desktop computer 311 has an instance of agent desktop (AD) application installed thereon similar to a traditional application expected for a traditional in-house desktop like desktop 320 manned by agent 322 within center 300. However, the program on desktop 311 is modified to interact with KWP running on processor 305. KWP (processor 305) and AD (KW desktop 311) exchange information including Transaction Library data (T-Lib), Knowledge Worker Protocol (KW Protocol), and Interaction Preview Data Protocol (IPDP). Data links 307 and 309 are logical only and all data shared between processor 305 and desktop 311 may travel over a single physical or wireless data connection.
The AD application running on desktop 311 may be adapted to run on virtually any network-capable device such as a cellular telephone with display, an IP telephone, a PDA, a paging device, and so on. The only modifications required for AD at workplace 310 are the application program interfaces required to work with data that is not in standard CTI format. In a preferred embodiment, KWP uses Extensible Markup Language (XML)-based protocol for device independent presentation and Extensible Style sheet Language Transformation (XSLT) scripts for transforming XML source data to, for example, HTML data or other data formats to accommodate device-dependent data presentation requirements. Basically XSLT is an XML processing language known in the art.
It is important to note herein that the models for KWP and AD are the standard T-Server and agent desktop models. Appropriate extensions are made to KWP and AD to enhance capability for dealing with KW protocol and added T-Lib entities. For example, the model for a knowledge worker is an extension of the model for a standard agent. Therefore, attributes of the KW model do not exist in the standard agent model. These attributes or object entities are added to the standard T-Lib for KW use. The extended attributes define the separation of remote KW characteristics and function constraints from those of a regular CTI agent.
In practice, CTI telephony capability is extended to KW 313 by way of link 314, 308, and the adapted applications KWP and AD. Switch 304 remains a dumb switch having no CTI control. For example, assume customer 301 has a direct number to telephone 312 and places a call to KW 313. The call request is routed through switch 323 to switch 304 where notification of the call exemplifies a ringing event at telephone 312. At this point, center 300 has no indication or idea that KW 13 has a call-event ringing notification. However, when agent 313 takes the call, AD software on desktop 311 detects the activity and sends pertinent state data to KWP in processor 305, which in turn delivers the information to premise server 317.
Once server 317 has the information, other calls destined to telephone 312 can be managed and queued according to KWP reporting data. During interaction with the caller on telephone 312, KW 313 can use desktop 311 to obtain additional call and customer data, product data, history data and so on from center resources. Likewise, KW 313 may use terminal 311 to perform a call-related action such as hold, transfer, terminate, and other like commands. The command path in a preferred embodiment can be executed from server 317 and direct to a CTI-processor running an instance of T-Server (command path not shown) that intelligently enables switch 323 to terminate, interact or otherwise treat the event accordingly at switch 323. An advantage is that management information is available from the time of call receipt. If a queue is used, the information may be used for queue management purposes so that the center can tell whether or not a particular knowledge worker is not available. The center can then route calls destined to KW 313 based on availability.
In one embodiment, customer 302 places a call to KW 313 the event routed through switch 323, and switch 316. By identifying the DN as that of KW 313 (telephone 312) CTI messaging takes place between switch 316 and the Premise T-server application on processor 317. Server 317 then communicates through ISCC link 314 to the Programmable T-Server application on processor 305 enhanced as KWP. KWP messages with AD at desktop 310 to determine availability of DN (telephone 312). AD checks telephone activity by link 306 and if available responds along the reverse chain of links. Assuming availability then switch 323 can seamlessly re-direct the event to switch 304 by command from processor 317 and cause a ringing event at telephone 312. This assumes that processor 317 is connected to a like processor at switch 323. Otherwise, the call can be rerouted from switch 316 through switch 323 to switch 304. Link 306 is virtual in the sense that telephone activity at telephone 312 can instead be monitored from switch 323 if it is CTI-enabled and has a link to processor 317.
Outbound calls, inbound calls, and KW to KW remote calls can be monitored and reported in terms of state activity and availability. Assume, for example, that KW 313 places an outbound call from telephone 312 destined for telephone 321 in agent workplace 319. AD running on desktop 311 detects the outbound DN and uploads pertinent data to processor 305 whereupon KWP sends appropriate request for availability to Premise T-Server 317 controlling switch 316. Premise T-server 317 has information pertinent to the activity state and availability of agent 322 in his workplace 319 by way of LAN connection 318. Returned data follows the reverse chain and may show up on desktop 311 before the ringing event has expired. A wealth of information can be propagated between KW 313 and center 300.
Data about callers and contact center service tools and full database access is made available to KW 313 on desktop 311 using KWP and AD applications. If there is no monitoring capability between the device that KW 313 receives an event on and the computing platform of KW 313, then KW 313 may have to manipulate AD on the computing platform in order to access center 300 for data pertinent to the event. In other embodiments the computing platform and the device used to receive events are one in the same such as a network-capable cellular telephone for example.
KW 313 can register any number of DNs from AD on desktop 311 to receive events when he or she is leaving workplace 310 and will be away for a period. In the case of a short distance, a wireless peripheral can be used to access center data through desktop 311 and a wireless telephone can be set-up to receive the events. There are many equipment variations that are possible.
The nature of the connection between KWP and a KW device can be configured according to a number of criteria and supported platforms. For example, a one-way connection can be utilized for practicing only KW status notification to center 300. A two-way connection can be practiced for call-related data propagation. In addition to dial-up techniques to facilitate the connection between KWP and a KW device, wireless and Internet Protocol (IP) connections can be implemented. It is also possible to practice the invention with a simple PSTN connection.
KWP architecture supports any existing media and platform. More specifically, KWP supports a traditional desktop with a data link (illustrated in this example), wireless linking for PDAs and wireless browser applications. KWP also supports conventional voice devices including but not limited to analog telephone, conventional IVR, and VoiceXML based IVR. Messaging protocols such as Simple Messaging System (SMS), Instant Messaging (IM), email. Internet markup languages such as traditional HTML-based languages are supported along with more recently introduced Wireless Application Protocol (WAP) and Wireless Markup Language (WML). More detail regarding the software platform of the invention and how it functions in telephony scenarios is presented below.
FIG. 4 is a block diagram illustrating system connection hierarchy according to an embodiment of the invention. In this simple example, KWP402 resides between the communication center environment (401) and the remote KW or KWs. Therefore, KWP 402 is a proxy-serving platform that is integrated as an extension of the CTI telephony platform generally described as the T-Server platform. In this example, CC Environment 401 is analogous to the capabilities of center 300 described with reference to FIG. 3 including any extension of those capabilities into the PSTN network by way of separate data network connections and CTI processor distribution to network level components.
KWP 402 is analogous to KWP running on processor 303 described with reference to FIG. 3. IP network 404 and PSTN network 403 illustrate exemplary communication networks used in communication. Other networks may also be substituted therfor or used in conjunction therewith. A plurality of KW devices is illustrated as examples of varying types of devices that may be used by a KW to practice the invention. A standard analog telephone 405a can be used in a simple embodiment to communicate with KWP through PSTN 403. IVR-based technology is used in this case to provide the KW with call and center-related data as well as for receiving routed events. A cellular telephone 405b is illustrated and can be adapted to communicate with KWP 402 through a COST connection or through a DNT connection. WAP and WML are supported so that XML-based data from CC environment 401 can be displayed on device 405b. 
It is noted herein that AD, described with reference to FIG. 3, normally requires approximately 30 megabytes of disk space in a robust version for desktops and the like. Therefore, an AD-Lite application would be downloaded to device 405b according to storage availability. In another embodiment, AD may be combined with KWP at server side wherein AD is still personalized to the particular KW authorized to access it and operate it from device 405b. 
A PC 405c is illustrated in this example and is analogous to desktop 311 described with reference to FIG. 3. A PDA 405d is illustrated in this example as a possible KW device that communicates to KWP through IP network 404, or can also be operated with a wireless connection through PC 405c as a host.
FIGS. 5 through 8 are block diagrams illustrating call control use cases according to an embodiment of the present invention. Referring now to FIG. 5, the basic advantage of KWP in that KW agent 501 can accept inbound calls from customers (502) wherein availability status, skill level, and other criteria can be provided to the communication center environment for the purpose of routing call 502. If the DN of KW 501 is not integrated with a KW computing platform, then KW 501 can still enter input from the KWP-connected computing platform when on call using an unregistered DN to retrieve data. At this point the communication center can track the activities and results based on KW data input. In another embodiment, the DN of the KWs receiving telephone can be set in the CC environment wherein a network level switch enhanced by CTI software can monitor state, determine best routing, and initiate data transfer of call-related and center-related data to the KW without first party input.
Referring now to FIG. 6, KW 601 can initiate an outbound call (602). As an extension to traditional outbound dialing, a preview-dialing mode 603 is supported which includes preview dialing notification caused by outbound contact (605) and a preview-dialing mode supported by Internet suite (605) for IP mode.
Referring now to FIG. 7, a KW (701) can place or receive internal calls (702) from other knowledge workers. This includes an internal call without notification (703), an internal call with notification (707). An internal call with notification includes an option (708) for preview answer of the internal call associated with a manual agent reservation. There are several extended options including an external call (709) via RP queue performed by an external T-Server, an internal call (706) from a center agent performed by the external T-Server, and an internal call (704) from another KW. Option 704 can be extended to an option of internal call (710) from a KW performed by an external programmable T-Server, or an option of internal call (705) from a KW performed by a local programmable T-Server.
Referring now to FIG. 8, KW 801 can initiate more complicated interactions such as a two-step transfer (802), a two-step conference (803), and a hold and retrieve (804).
FIG. 9 is a block diagram illustrating components of the Knowledge Worker software and integration thereof to a communication center framework. The KWP 901 of the present invention includes a server application 904, which is analogous to programmable T-Server and KWP software running on processor 305 described with reference to FIG. 3 above. A KW desktop or “client” application 903 is also part of KWP 901. KW desktop 903 is analogous to AD running on desktop 311 described with reference to FIG. 3.
KWP communicates with a communication center (CC) Platform 902 over a data link (908, 907) that supports ISCC protocol. Link (908, 907) is separated in terms of element number to show communication of two separate components in this example. However, the physical link is analogous to link 314 described with reference to FIG. 1.
CC platform 902 includes a configuration server 905 and standard premise T-Server 906. Configuration server 905 is a software implement that is used to configure and update KWP/programmable T-server 904. In turn, KWP/T-Server programs KW desktop 903 if required. As was described further above, KWP 901 is an extension of CC framework. For example, T-server 906 serves as a basic model whereas KWP/T-Server is extended in functionality by additional attributes and capabilities.
Existing T-Library (T-Lib) protocol is used to build additional KW messaging between KWP/T-Server and client the application 903. Standard agent desktop applications are extended to provide KW functionality.
FIG. 10 is a block diagram illustrating components of the knowledge worker platform 901 of FIG. 9. As described with reference to FIG. 9 above, KWP 901 comprises a KW desktop application 903 and a KW T-Server application 904. KW desktop application 903 comprises an agent desktop application known to the inventor as Contact Navigator given the element number 1009. Contact Navigator 1009 utilizes a Transaction Library or T-Library 1008, which contains all of the required business and routing rules and object entities needed to build useful communication between two physically disparate systems namely, the CC platform and the KWP. By themselves, navigator 1009 and library 1008 are identical to the desktop application contained within the physical contact center domain analogous to AD running on agent desktop 320 in center 300 described with reference to FIG. 3 above.
In this example, desktop 903 is enhanced with KW extension software 1010. KW extension 1010 contains all of the attributes that facilitate the added capabilities of a KW desktop over a standard model desktop. T-Lib 1011 is thus enhanced with the appropriate components defined by the extension. It is noted herein that since KW desktop 903 is based on the standard desktop model (contact navigator) added capability can be remotely programmed thereto using the configuration server described with reference to the CC platform of FIG. 9. The appropriate components are downloaded to KW extension 1010 for KW use.
KW desktop 903 has connection with KW T-Server 904 as described further above in this specification. KW T-Server 904 is partitioned into two parts, a T-Server common part 1001 and a KW specific part 1002. KW T-Server 904 is also enhanced with ISCC communication capability via ISCC protocol 1003 for the purpose of economic communication with the contact-center platform.
One main goal of the invention is to maintain separation of KW specific part of T-Server functionality from the standard functionality of T-Server framework components at the host contact center. Such separation allows independent development and support for KWP 901 over contact center framework. Further, separation enables seamless integration of KWP with a variety of host customer-relation-management (CRM)-vendors.
KW protocol is provided instead of traditional CTI protocol. KW protocol, shown exchanged over logical link 1006 between the desktop and the T-Server provides CTI like messaging capability. This means that any KW desktop that registers a DN with KW T-Server 904 establishes telephony switch functionality at the contact center for servicing those registered DNs. KW protocol carries CTI like messages regarding real-time status of any registered DNs from KW desktop to KW T-Server. Various call-control messages are supported like TmakeCall, TanswerCall, TreleaseCall, THoldCall, and so on. These messages are treated as CTI messages that inform KW T-Server 904 of status of a particular interaction.
The structure of messages in KWP is presented in FIG. 24. The KWP message is encoded in a KVList data type that enables future extension of KWP without breaking compatibility with older applications.
KVList Structure
The following code exemplifies the structure of a KVList:















typedef enum {









KVTypeString,



KVTypeInt,



KVTypeBinary,



KVTypeList,



KVTypeIncorrect = −1/* used for error indication only */









} TKVType;



struct_kv_pair {









TKVType type;



char *key;



int length;



union {









char *_string_value;



int_int_value;



unsigned char *_binary_value;



struct kv_list *_list_value;









}_value;










#define string_value
_value._string_value



#define int_value
_value._int_value



#define binary_value
_value._binary_value



#define list_value
_value._list_value









struct_kv_pair *kv_next;



struct_kv_pair *kv_prev;









};



typedef struct_kv_pair TKVPair;



struct kv_list {









struct_kv_pair *list;



struct_kv_pair *current;



struct_kv_pair *tail;









};



typedef struct kv_list TKVList;










TEvent Structure

The following code exemplifies the structure of a transaction event (Tevent):













typedef struct {










enum TMessageType
Event;










TServer
Server;



int
ReferenceID,



char
*HomeLocation;



char
*CustomerID;










TConnectionID
ConnID;



TConnectionID
PreviousConnID;










TCallID
CallID;



int
NodeID;



TCallID
NetworkCallID;



int
NetworkNodeID;



TCallHistoryInfo
CallHistory;



TCallType
CallType;



TCallState
CallState;



TAgentID
AgentID;



TAgentWorkMode
WorkMode;



long
ErrorCode;



char
*ErrorMessage;



TFile
FileHandle;



char
*CollectedDigits;



char
LastCollectedDigit;



TDirectoryNumber
ThisDN;



TDirectoryNumber
ThisQueue;










unsigned long
ThisTrunk;










TDNRole
ThisDNRole;



TDirectoryNumber
OtherDN;



TDirectoryNumber
OtherQueue;










unsigned long
OtherTrunk;










TDNRole
OtherDNRole;



TDirectoryNumber
ThirdPartyDN;



TDirectoryNumber
ThirdPartyQueue;










unsigned long
ThirdPartyTrunk;










TDNRole
ThirdPartyDNRole;



TDirectoryNumber
DNIS;



TDirectoryNumber
ANI;



char
*CallingLineName;



TDirectoryNumber
CLID;



TAddressInfoType
InfoType;



TAddressInfoStatus
InfoStatus;



TTreatmentType
TreatmentType;



TRouteType
RouteType;



char
*ServerVersion;



TServerRole
ServerRole;










TMask
Capabilities;










TKVList
*UserData



TKVList
*Reasons;



TKVList
*Extensions;



TTimeStamp
Time;










void
*RawData;



TDirectoryNumber
AccessNumber;










TXRouteType
XRouteType;



TReferenceID
XReferenceID,










TKVList
*TreatmentParameters;










char
*Place;



int
Timeout;










TMediaType
MediaType;/* added 7/15/99 ER#9462 */



TLocationInfoType
LocationInfo;










TMonitorNextCallType
MonitorNextCallType;



/*









* Used in RequestPrivateService/EventPrivateInfo:



*/










TPrivateMsgType
PrivateEvent;







} TEvent;









Another protocol provided for use in practice of the present invention is known as Preview-Interaction-Protocol (PIP) to the inventor. Preview interaction protocol is illustrated as being exchanged between KW T-Server 904 and KW desktop 901 over logical link 1004. PIP provides an ability for a KW to preview incoming interactions before actually receiving them. In this way, a KW has the capability of accepting or rejecting an incoming interaction based on attached data such as user data attached with an incoming telephone call. This capability also allows the contact center platform to correctly process external call-control routines like external call, external transfer, external conference, and so on. All preview interaction messaging takes place between KW desktop 903 and KW T-Server 904.
T-Library functions as a messaging transport layer in the software communication scheme. In other words, particular T-Lib messages are used to carry KW protocol and PIP messages.
FIG. 11 is a configuration model 1100 for knowledge worker state information according to an embodiment of the present invention. Configuration-Management-Entities (CME) are configured into the system for active state and call control. CME configuration model 1100 is a typical CME configuration routine for configuring remote knowledge workers to practice the present invention. First a KW is configured with CfgPerson 1101. Secondly, the place or places of operation are configured with CfgPlace 1102. The relationship between person and place typically includes one place where a KW will receive interactions. However in some embodiments a KW may be live at one place and have automated services set up in another place. Therefore, the relationship between person and place in this CME model can be one to many.
Place 1102 has two basic attributes that must be configured. These are agent login (CfgAgentLogin) 1103 and DN (CfgDn) 1104. Agent login includes any pre-designed procedure deemed appropriate for a KW to login to the system of the invention. In some cases login may not be required in terms of passwords and so on. Simply opening a connection between the KW computing platform and the KW T-Server may be sufficient for login purposes. In some embodiments, KW platforms associated with automated systems may remain connected and, therefore logged in 24/7. In other cases, automated connection establishment and login may be pre-programmed so that the KW platform will login whether the agent is actually there or not.
CfgDn 1104 is used to register one or more KW DNs with the contact center environment, typically a CTI telephony switch. A KW may configure more than one DN with attached data as to what types of interactions should be routed to which DN. A DN may include one or more telephone numbers, cell phone numbers, an e-mail address, a virtual number for an automated system, an IP address and still other location identifications. One to many relationships between place 1102 and agent login 1103 are possible. Similarly, one to many relationships between agent login 1103 and CfgDn 1104 are possible.
CfgSwitch 1106 configures the acting telephony switch or switches practicing the present invention. This process uses a special KW gateway. CFGKWGateway enables the switch to differentiate KW telephony traffic from regular contact-center and other normal traffic. Switches with or without CTI links are configured if they are involved in KW interaction routing. CfgApplication 1107 is used to configure KWP software at the remote location. This configuration process includes configuring KW T-Server and KW desktop software. CME provides data sync methods for data synchronization, data transformation between customer main and central storage facilities and data transfer between directories by LDAP or preferably through XML and XSLT import/export mechanisms.
FIG. 12 is a data model for presenting an active knowledge worker state. The model of this example presents the various agent states that are implemented by KW T-Server 904 described with reference to FIG. 10 above. The basic reportable states are Agent Login, Agent Logout, Agent Ready, and Agent Not Ready. This model is the basic agent model for standard CTI-T-Server implementation as would be the case inside contact center 300 described with reference to FIG. 3. Hence the term agent can be replaced with the more appropriate term knowledge worker for remote implementation. The arrows represent all possible associations in the model. One with skill in the art will recognize that this is a basic example and that other reportable knowledge worker states may also be represented in this model. Similarly, this model may be applied to different types of interaction media including telephone interaction without departing from the spirit and scope of the invention.
FIG. 13 is a process flow diagram illustrating the sequence of a successful internal call. At step 1300 a KW initiates an internal call to another KW. This action can occur from a KW telephone or from a KW computing platform analogous to telephone 312 and desktop 311 of station 310 described with reference to FIG. 3. At step 1301, a KW T-Server analogous to processor 305 described with reference to FIG. 3 receives notification of the initiated call and sends a preview interaction message (PIM) to the destination KW. The PIM is forwarded before the call is dialed and gives the second KW a chance to decide whether or not he will accept the call based on the PIM data.
At step 1302, KW-2 receives and, in this case accepts the PIM from the KW T-Server. A dotted return arrow illustrates an acceptance response forwarded back to the T-Server. At step 1303, the T-Server dials the DN specified in the call initiation event. A notification of a dialing event (broken return arrow labeled Event Dialing) displays on the caller's computer platform or is activated on the caller's telephone with respect to KW of step 1300. There are many indication possibilities for a dialing event. A ringing event is also established by the T-Server at the computer platform or telephone of KW-2 as illustrated by the broken arrow labeled Ringing. At this particular moment it happens that KW-2 is on a current call. A pre-defined time period may be established for the ringing event so that KW-2 may, during that time, terminate the previous call and pick up.
At step 1304, KW-2 picks up the call. Detecting the pick up at step 1305, the KW T-Server establishes the connection between the KW of step 1300 and KW-2 of step 1304 as indicated by broken arrows. It will be apparent to one with skill in the art that there may be variations in this process for a successful internal call between 2 KWs without departing from the spirit and scope of the invention. Variations in the flow are dependant on actual events. For example, in the case that KW-2 could not terminate the previous call to pick up the initiated event before a sever timeout has occurred, a notification of not ready could be returned to the initiating KW. Similarly, KW-2 could opt to reject the call before it is made by rejection the PIM request.
FIG. 14 is a process flow diagram illustrating a variation of the sequence of FIG. 13 with a forced answer. In this example, steps 1400–1403 are identical to steps 1300–1303 described with reference to FIG. 13 above. Therefore, the same description given in the example above applies to steps 1400–1403 of this example as well.
At step 1404, there is a forced server time out indicating a forced answer mode. At step 1405, a ringing event is established at the station of KW-2 audible over telephone or audible and perhaps visible on the computing platform of KW-2. At step 1406 then, KW T-Server establishes connection for the dialed event. It is noted herein that event connection first connects the initiating party and then the receiving party as indicated by broken arrows A and B.
FIG. 15 is a process flow diagram illustrating the sequence of a failed internal call. At step 1500 a KW initiates a call to another KW as described with reference to the previous 2 examples. At step 1501, the KW T-Server sends a PIM request to the second KW (KW-2). However, upon reviewing the request, KW-2 decides not to accept the call and rejects the PIM in step 1502 as illustrated by a broken return arrow. The result of this action is that in step 1503, the KW T-Server returns an error message or notification to the initiating KW. It is noted herein that notification messages can take the form of a wide variety of media such as Voice over Internet Protocol (VoIP), IVR response, e-mail response, and so on dependant upon media type and equipment.
FIG. 16 is a process flow diagram illustrating the sequence of an internal call with a forced timeout before PIM decision according to an embodiment of the invention. Steps 1600 and 1601 are identical to the first 2 steps of the previous examples. However, at step 1602 a forced server timeout occurs before KW-2 responds to the PIM request sent in step 1601.
At step 1603 the KW T-Server sends a timeout error notice to the initiating KW. In the meantime, the PIM request sent to KW-2 is still alive and pending. At step 1604 after the timeout occurs, KW-2 receives the PIM request and determines whether to accept or reject the call. If in step 1604 KW-2 accepts the request, then at step 1606 KW T-Server dials the DN number and subsequent steps for dial notification, ringing event notification and connection establishment occur as with a successful internal call. However, if KW-2 rejects the call event at step 1604, then at step 1605 KW T-Server sends an error notification back to the initiating KW as indicated by the broken return arrow.
FIG. 17 is a process flow diagram illustrating the sequence of a successful external call according to an embodiment of the invention. At step 1700 a center agent initiates a call to a remote KW. Initiation of the call can take place from the agent telephone or from the agent desktop analogous to telephone 321 and desktop 320 in workplace 319 of center 300 described with reference to FIG. 3. At step 1701 the desktop T Server opens a connection to a first local router or router 1. It is noted herein that the T-server implement may be in the agent desktop itself or it may be in a premise T Server processor accessible to the agent.
At step 1702 the first router local to the agent sends a request to a second router local to the KW to get an access number or DN. At step 1703 the second router forwards the request to the KW T-Server hosting the agent. It is assumed in this example that the KW in question is logged in. Otherwise, an error message (KW not available) would be returned to the initiating agent.
At step 1704 the KW T-Server sends a PIM to the KW having the requested access number or DN. The KW is now aware of the impending incoming call and can decide whether to accept or reject the call. In this case, the KW that will receive the call accepts the PIM request as indicated by the associated block below block 1704. At step 1705 KW T-Server requests call data from the second router. In the meantime, at step 1706 the second router gives the access number to the first router local to the agent.
At step 1707 the first router sends a call request to the premise T-Server. At step 1708 the premise T-Server extends the call request to the premise switch. At step 1709 the switch dials the associated DN and notifies the premise T Server in the first phase of dialing. At step 1710 the premise T-Server notifies the first router of the DN in phase 2 of dialing. At step 1711 the first router notifies the agent desktop of the dialing (phase 3). This manifestation may occur on the agent telephone, desktop or both.
At step 1712 the KW T-Server establishes a ringing event at the second router local to the KW in a first phase of ring notification. At step 1713 the second router establishes the ringing event at the KW station, for example, on the telephone or desktop or both. At step 1714 the connection is established between router 1 and router 2. At step 1715, the connection is extended from router 1 to the calling agent. It is assumed in this example that the connection is a COST connection, however DNT interactions are similarly routed according to CTI rules.
It will be apparent to one with skill in the art that the steps described in this example may vary in number and order without departing from the spirit and scope of the present invention. For example, it may be that there are more than 2 routers involved in the connection path of the call. Similarly, server timeouts, agent availability, queuing requirements, and so on can change the nature and order of the described steps. The inventor intends that the presented example illustrate just one example of an external incoming call sourced from a center agent and destined to a remote knowledge worker according to a preferred embodiment.
FIG. 18 is a process flow diagram of a failed external call according to an embodiment of the present invention. Steps 1800 through 1804 are identical to steps 1700 through 1704 described with reference to FIG. 17 above for a successful external call from a center agent to a remote KW.
At step 1805 however, the KW decides not to accept the pending call and return a rejection response. At step 1806 the KW T-Server sends a data request to R-2 for call data. At step 1807 R-2 sends an error message to KW T-Server because of absence of call data due to KW rejection of PIM request. At step 1808 R-2 returns an error message to R-1 local to the agent regarding the earlier request for access number at step 1802. At step 1809 R-1 sends an error message to the agent station as indicated by a broken arrow. The error message may be that at this time KW John in not available due to current load or duties. The fact that KW decided not to take the incoming call from the agent can be expressed in a variety of syntax. Perhaps the agent could elect to receive a call back from the KW at a more advantageous time or perhaps the agent can be prompted to place the call again at a latter time period.
It will be apparent to one with skill in the art that remote call control is possible and practical using the method of the present invention without a functioning CTI link provided between the center and the local switch closest to the KW center or other remote KWs. Incoming calls can be routed to any remote KW with a connection to the KW T-Server according to availability, skill level, and so on. In a preferred embodiment intelligent routing of events to remote KWs can be made at the premise of the communication center or at network level. In the case of network level routing, a network T Server must be provided to enhance the involved network level switch or switches.
If all KWs are, for some reason, unavailable at the time of a call attempt, then IVR functionality can be utilized to prompt the caller to leave a number for a return call. In this embodiment, premise T-Server function enables outbound dialing and connection when it is determined that a KW becomes available to take calls. In one embodiment ISCC protocol enables a center agent engaged in a call to transfer the connection to a remote KW with data attached to the event. XML-based data and XSLT transformation capability renders the attached data into the desired format for dissemination at the KWs end device whether it is a voice only device or a display-capable/voice capable device, or even a display only device.
In another embodiment, the service-provider infrastructure (center) can partially monitor independent interactions through network signaling such as D-channel pinging, OSIG, or call progress detection mechanisms.
Voice-Based Management
According to yet another aspect of the present invention, a voice-based management system is provided to extend functionality in management of remote KWs in a communications-center environment. The methods and apparatus of this invention in preferred embodiments are described in enabling detail below.
FIG. 19 is an architectural overview of a state and interaction management system enhanced with voice-management capabilities according to an embodiment of the present invention. One goal of the present invention is to provide a voice-based system for enhancing KW state reporting capabilities and KW control from the viewpoint of a communications center. The enhanced management and reporting environment uses voice extensible markup language technology (VXML), text-to-speech (TTS) and automatic speech recognition (ASR) technologies.
This example is similar in some respects to the example described with reference to FIG. 3, above except that voice-based management capabilities are integrated with data management and transfer capabilities across disparate networks in order to provide enhanced cross-communication between a KW and communications center applications resulting in better overall performance of the system as a whole.
Referring now back to FIG. 19, some elements that are illustrated herein were also introduced and described with reference to the example of FIG. 3 above. Therefore, those elements, which have already been introduced and described, retain their same element numbers and shall not be reintroduced. Contact center 300 is illustrated in this example in a much-simplified form than that described with reference to FIG. 3 above. For example, some agent-workplace components are not specifically illustrated in this example for the purpose of more clearly describing the present invention, but may be assumed to be present. PBX switch 316 is illustrated in this example along with premise T-server 317 running an instance of KWP (Knowledge Worker Platform) analogous to KWP running on server 305 described with reference to FIG. 3 and also illustrated in this example. All other communications systems that are typical of state-of-art communications centers are represented herein by a LAN arrow 401, the illustration of which is meant to indicate a full and robust compliment of systems and components required to enable a communications center. Hereinafter, the element number 401 is used to indicate a communications center environment analogous to CC environment 401 described with reference to FIG. 4 above.
PBX 316, which is CTI-enhanced in this example, is reachable through PSTN network 303 from a local PBX switch 323 via telephony trunk(s). KW workplace 310 is analogous to workplace 310 described with reference to FIG. 3. Only telephone 312 is illustrated in this example as one communication component or fixture residing in workplace 310. Telephony 312 may be an IP telephone or a plain-old-telephone-service (POTS) connected telephone. KW 313 and Computer 311 are omitted from this example for the sake of simplifying illustration but are assumed to be present. The proxy system previously described with reference to FIG. 3 including T-server 305 running an instance of KWP is illustrated in this example. As previously described, T-server 305 has connection to center 300 through an ISCC compatible data link. KW protocol, IPDP, and T-Lib protocols are available through T-server 305 and are implemented as previously described with reference to FIG. 3.
In this example, a Wide-Area-Network (WAN) 1903 is illustrated as part of the overall communications network. In a preferred embodiment WAN 1903 is the well-known Internet network and may be referred to as Internet 1903 in this specification. In other embodiments WAN 1903 may be a private or corporate network including an Intranet or Ethernet network. The inventor chooses the Internet as a preferred embodiment in this example because of the high public access characteristic. This is also the case with respect to PSTN 303.
Internet 1903 has an Internet backbone 1900 extending there through that represents all of the network lines, access points and equipment that make up the Internet network as a whole. It is clear, that in various types of applications, and in some other cases, this may not be “The Internet”, but a private or other network's backbone. Therefore there are no geographic limitations to the practice of the present invention. Contact center 300, also termed a communication center, has connection to Internet 1903 through any of several known Internet access methods including DSL, ISDN, dial-up or others. Internet connection capability between center 300 and Internet 1903 is a 24×7 connection in preferred embodiments of the present invention. In this example, T-server 317 also serves (logically) as an intelligent router for routing data from the Internet to appropriate destinations within center 300. It will be appreciated however that a dedicated IP router or server may be provided instead as a separate component from T-server 317 and linked thereto for communication.
Internet 1903 has a Web server 1902 provided therein and illustrated as having connection to Internet backbone 1900 for communication. Web server 1902 is adapted to serve electronic information pages (Web pages) and is, in a preferred embodiment, hosted by a same entity that hosts center 300. Server 1902 can be provided within the physical domain of center 300 without departing from the spirit and scope of the present invention. Center 300 is a dually-capable center, meaning that it may process both COST and DNT communication events.
Web server 1902 has a VXML application 1901 which is adapted to generate executable VXML scripts. Web server 1902 also has a KW Web application 1908 adapted to communicate with a KWP application provided to and executable from T-server 317 located within center 300. Application 1908 converts VXML data into data of a format understood by CTI platform software and other center application formats used within center 300 for routing, scheduling, data aggregation, and other functions.
Web server 1902 is adapted to generate and execute VXML scripts. Web server 1902 is accessible by voice-based mediums (telephone) through a KW VXML gateway 1904 linked for communication to backbone 1900. VXML gateway 1904 contains TTS and ASR software for performing various tasks related to voice recognition and voice synthesizing from text (VXML) scripts. As a vocal portal, gateway 1904 is accessible through switch 323 in PSTN 303. For example, a KW operating phone 312 can access Web server 1902 through an appropriate link between phone 312 and gateway 1904.
Building a VXML implementation, at the lowest level, is based upon generating one or more Web pages that contain VXML commands. These web pages are executed by VXML gateway 1904. Gateway 1904 parses VXML pages generated and served by server 1902. Based upon the commands on a VXML page, the VXML gateway interfaces with or includes an ASR engine and/or a TTS engine. The VXML gateway contains an interpreter application that controls telephony, ASR, and TTS resources. In one embodiment of the invention gateway 1904 including the TTS, interpreter, and ASR components mentioned is contained within one server, namely server 1902. However, the inventor logically illustrates separate components in this example in order to more clearly describe them.
In one embodiment, PBX 323 is also accessible to a mobile KW illustrated herein as Mobile KW 1906 operating, in this case, a cellular telephone device 1907. Typical access is wireless and achieved through connection to a wireless data network illustrated herein as network 1905 using a wireless network gateway (GW) illustrated herein as GW 1910. In one embodiment there may be a direct connection between GW 1910 and VXML gateway 1904. KW 1906 may, in one embodiment be the same KW that is stationed at workplace 310, the KW having left workplace 310 temporarily and currently operating from device 1907 in a completely mobile environment such as out in the field.
In practice of the invention, a VXML-enhanced state of reporting and management is enabled wherein a KW may use any simple telephone to report state of readiness vocally through gateway 1904. Gateway 1904 recognizes the voice renderings of the KW using ASR technology and converts the speech to VXML commands for processing by Web server 1902 running VXML scripting software 1901 and Web application 1908.
Server 1902 downloads the reported state information as XML-based or, if so enhanced, CTI-based data to server 317 running an instance of KWP. Server 317 then notifies the communication center environment (401) including PBX 316 according to whatever the reported state was including issuance of any related commands. For example, KW 1906 may dial a pre-set telephone number (VXML gateway) registered at switch 323 using phone 1907. The pre-set number addresses VXML gateway 1904 to take the call. Based on a VXML script, the KW when prompted says, for example, “ready on mobile” meaning that he or she can now take service calls but only from the mobile telephone used to dial in or another designated telephone number that can be registered. If prompted, further state detail may be reported such as ready from a certain begin time to a certain stop time. Still more detail can be reported using phone 1907 in a same session such as availability only for a certain type of call, or available only for teleconferencing on a specific project, and so on. There are many configurable possibilities.
VXML scripts can have empty fields for accepting voice renderings or DTMF inputs that fill those fields during voice interaction. These fields may also be filled using touch-tone command methods. VXML pages also have data executable commands and voice dialogs that are played as synthesized voice media streams.
Because KW 1906 is mobile when he or she calls in to report state, he or she may be considered by center 300 to be not available for routing at his workplace if he or she has one. For example, if KW 1906 is the operator of workplace 310 it is now known after state reporting to the center that he or she is not physically present at the main workplace, hence calls requiring database access or other requirements for accessing computer information may not be routed to telephone 1907. However, because state has been reported, center 300 can now update KW workplace 310 through ISCC compatible network 314 and can access data there from and report it back to KW 1906 as a voice synthesized media stream over telephone 1907 using TTS technology. This can occur while the KW is talking on the telephone by using call hold toggling methods.
For example, server 317 having received a “ready” state report from KW 1906 may cause a call incoming to switch 316 to be re-routed to the now-ready mobile operator 1906 on telephone 1907. Through IVR interaction, the center determines before routing the call that some information available from KW workplace 310 may have to be presented during the interaction between the caller and KW 1906. Server 317 can access the required data from KW workplace 310 if authorized and workplace 310 is “online”. Additionally, server 317 can also provide any call-related data that may have been solicited from the caller during interaction at switch 316 before re-directing the call.
Server 317 with the aid of KWP software uploads the extracted information and the caller information to Web server 1902. Server 1902 then generates VXML script and dials VXML gateway 1904. Gateway 1904 parses the VXML and generates a voice media stream vocalizing the data and dials the telephone number of 1907 not necessarily in the same order. The caller, if already connected, can be put on hold while KW 1906 picks up the call from the center. When KW 1906 answers, the voice stream containing the required information is played and can be recorded at time of play, recorded by note taking, or replayed using touch-tone commands. When KW 1906 receives and records the data then he or she has the information available to help the caller even though he or she cannot physically access workplace data from station 310 or contact center data from center 300 using telephone 1907.
The system of the invention is bi-directional as exemplified in the scenario cited above, meaning that VXML scripts are directed both ways in communication. A KW can report previous, present, or future state information related to functions or duties using a simple telephone. The center in turn can update the appropriate data systems within the center including performing any switch configurations and routing routine pre-sets. The center can also update the KW workplace with any timely information that may be required or related to the last report. The center can also make vocal requests to the KW through telephone 1907 using outbound dialing techniques through VXML gateway 1904. All data syncing functionality between the KW workplace and the center can be controlled through voice interaction alone. In fact, a KW may place a simple telephone call to the center to cause his or her workplace to boot up and be configured remotely for a planned work session. There are many possibilities of integrating VXML into the ISCC-based management system.
No appreciable modification of KWP software is required from the version described with reference to U.S. patent application Ser. No. 10/269,124 listed in the cross-reference section above and included herein. XML and XSLT including VXML are already supported by KWP software.
FIG. 20 is a block diagram illustrating system connection hierarchy including voice-based enhancement according to an embodiment of the invention. Communication center environment 401 represents center platform systems and applications including CTI call control, call control XML, Telera XML, and other languages that may be in use. KWP 402 is a proxy between the external KW environment and the CC environment. KWP configures the CC environment including CC switch management based on state reporting from a KW.
Web server 1902 running VXML application 1901 and KW Web application 1908 interacts with VXML gateway 1904 to receive audio stage reports and to deliver audio streams to KWs during interaction and telephony event processing. KWs may interact with the system of the invention from any regular telephone, for example from telephone 405a through PSTN 403 or through cellular telephone 405b through wireless network 1905. Voice interaction can also occur from a computing platform like PC 405c or PDA 405d through IP network 404.
The system of the invention, namely those components comprising server 1902 and VXML gateway 1904, adds a simple vocal management capability for center management of remote KWs that can be layered over the software suite described with the ISCC-based system. Essentially, the system of the present invention is a separate component from the system described with reference to application Ser. No. 10/269,124 except for integration with KWP and the CC environment.
Referring now back to FIG. 19, there are at least two separate communication paths in the main architecture for remote KW management. One is the VXML-enabled path between switch 323 and server 317 through server 1902 by way of backbone 1900. The other is the ISCC data path from server 317 to server 305 and workplace 310 by way of ISCC link 314 and logical connection (307, 308, and 309). Applications within center 300 can communicate using VXML by interacting with KWP in 317 and Web server 1902 to generate VXML script, which is then interpreted and synthesized as audio media streaming by gateway 1904 accessible to switch 323 and KW telephones.
Referring now back to FIG. 20, Web application 1908 interfaces with VXML application (Script) 1901 and translates the XML data to protocols used by KWP (XML, XSLT) and KWP interfaces with the CC environment (CTI, or other XML-based call control languages) as well as other required data formats for storing and managing data including data access formats.
Referring now back to FIG. 19, a human operator residing within center 300 can use VXML spoken commands to configure or set workplace 310 for performing certain tasks or for accepting certain incoming events. This can be accomplished by out dialing through switch 316 and switch 323 to gateway 1904. VMXL fields are filled in as previously described through ASR and processed at Web server 1902. At this point update and configurations are made through ISCC protocol network 314. For example, an administrator could call a special number identified and registered to a particular workplace 310. Gateway 1904 interacts with the administrator to determine which of a plurality of VXML dialogues it will use to propagate the administrators intended purpose. It is important to note herein that in one embodiment, ISCC network 314 and server 305 may be Internet hosted.
FIG. 21 is a process flow diagram illustrating steps for VXML-enabled remote-KW state reporting to a CC environment according to an embodiment of the present invention. At step 2100, a remote KW places a telephone call to the communications center (CC) to report a state. At step 2100, the KW may use any telephone or telephony voice device either from a mobile position or from a fixed workplace.
At step 2101, a VXML gateway analogous to gateway 1904 described with reference to FIG. 19 accepts the call waiting at the local switch (323 FIG. 19). In this embodiment it is assumed that the local switch is preprogrammed with the destination number used by the KW so that the communication center switch (316) does not actually receive the call. In another embodiment, the call actually progresses first to the central switch of the communication center adapted to recognize the special destination number. The call is then re-routed back to switch 323 for interaction with the VXML gateway. In the second embodiment, the communication center has knowledge of the pending sate report and can also notify the VXML server and the VXML gateway of the pending call and any additional data for identifying, for example, which VXML script to serve and execute, and so on.
At step 2102 the VXML gateway presents the available options to the caller using the selected VXML template and the caller vocalizes the state reporting option or options selected. The VXML gateway uses ASR to identify the audible renderings of the KW and fills the appropriate fields with the choices. Example state reporting options may include “ready”, “not ready”, “busy”, and so on. More complicated reporting options can include “ready on mobile”, “ready, page only”, “ready at time xxx for period of xxx”, “ready for IP telephony only” and so on. In addition to standard telephony-type states, location state, device state, designated communications device state, itinerary or job specific state, and many other reportable states can be conceived and added to a KW VXML reporting capability. It is assumed at step 2102 that the VXML gateway already has the appropriate VXML script for caller interaction according to the call intent. However, in one embodiment, a preliminary interaction takes place with the caller to determine which VXML script must be executed and an additional step for communication with a VXML Web server to obtain a proper script is added between steps 2102 and 2103.
At step 2103, the VXML gateway sends the completed VXML back to the Web server and the server converts the VXML data into XML-based data using a Web application analogous to application 1908 described with reference to FIG. 19.
At step 2104 XML-based data is sent to the communication center server running KWP software. The XML-based data reports the correct state information recognizable by KWP. At step 2105 the KWP within the center notifies the CC environment of any required actions resulting from the state reported and, if required performs configurations and related tasks. These actions might include CTI or non-CTI switch configuration, database entry or access, queue configuration, routing routine pre-setting, and tasks that are subsequently initiated and performed through outbound communication to the remote KW workplace. The exact type of action or actions performed will depend on the nature of the state report received. The actions are automated by commands resulting from interpretation of VXML fields filled from audio recognition.
The CC environment is now aware of the state of the particular KW that reported and can manage and track his or her activities. All of the management tasks that may be performed or states set within the communication center environment were communicated from a human KW using VXML to a center application capable executing any required tasks resulting from reported state according to enterprise rules governing those tasks. The method of VXML state reporting can be accomplished from any telephone including a remote phone used out in the field and away from any center connected workplace.
FIG. 22 is a process flow diagram illustrating steps for VXML-based transfer of call data to a remote KW from a communication center according to an embodiment of the present invention. At step 2200 an incoming call destined for a remote KW arrives at a center switch analogous to switch 316 of center 300 described with reference to FIG. 19 above.
At step 2201 IVR interaction solicits call related data from the caller. Call related data includes but is not limited to caller identification data; determining purpose of the call; determining payment method; determining if additional (center stored) data is required to complete the transaction; and so on. In one embodiment, the IVR system may be VXML-enabled and ASR is used to interact with the caller. In another embodiment touch tone interaction is used.
At step 2202 the solicited data is processed at a server connected to the center switch for routing purposes and to package the solicited data for upload to a VXML Web server. If the interacting IVR is VXML-enabled, it uses VXML scripts that can be uploaded as they are to a VXML Web server. If the IVR is not VXML-enabled then the touch-tone responses of the caller are interpreted as XML-based data by KWP and sent to the VXML server for VXML script generation. In this case any VXML Web page generated simply contains the instructions for producing the required one-way voice dialog to the KW.
At step 2203 the caller is routed according to in-place routing rules to the registered KW DN assuming a ready and available state. At step 2204 the switch-connected server sends the solicited data to the VXML Web server in the form of VXML data, if so enabled, or in the form of XML-based data that can be used to generate a VXML script.
At step 2204 the VXML Web server provides a VXML script containing the instructions for voice synthesizing of the data, the data provided in the appropriate dialogue fields of the VXML script to the VXML gateway.
At step 2205 the VXML gateway dials the DN of the KW and renders the data as a voice media stream to the KW when the call is answered. The gateway uses TTS rendering to synthesize the dialogue fields into a media stream.
In one embodiment, the KW may already be on the call with the routed caller, in which case he or she places the caller on hold to receive the voice data from the VXML gateway. The KW can record the stream, take notes or order the stream to repeat. The stream can include information solicited directly from the caller as well as information about the caller that was retrieved at the center from center-housed data during interaction with the caller at step 2201. The stream can be sent to any regular telephone used by the KW and, in some cases may be sent to any additional registered DN used by the KW simultaneously with the phone used for taking calls.
Using this VXML-based method, important data about a call and caller can be forwarded to a remote KW even if the KW has no CTI or other connect ability to the center data or remote workplace data. Therefore, the KW can provide complete service to the caller from the remote DN.
FIG. 23 is a process flow diagram illustrating steps for issuing a VXML-based alert to login and receive a KW update to a remote workplace. At step 2300 a center application initiates an update request to KWP within the communication center. Virtually any automated center routine may make such a request. It is assumed herein that at the time of update, the KW remote workplace is not logged into the system or not online. At step 2301, KWP running on a center server processes the request, packages it for upload and uploads the XML-based data to the VXML server.
At step 2302 the VXML server generates a VXML script containing the update data in the proper dialogue field or fields and serves the script to the VXML gateway for interpretation and synthesizing. At step 2303 the VXML gateway dials the DN of the KW and executes the VXML dialogue as a voice stream when the KW answers the call. At step 2304 the KW logs into the center system and receives the update through the ISCC compatible network. The addition of VXML voice notification capability can be used to alert remote KWs in the field to login at certain times to receive certain data updates or workplace configurations for specific center campaigns. Load balancing can be practiced among a plurality of KWs who are on call with automated outbound VXML alerts going out to stand-by KWs to call them in to handle peak call loads based on a pre-set call threshold ceiling.
It will be apparent to one with skill in the art that the methods and apparatus of the present invention can be practiced from any type of communications network including over the Internet network including bridged communications networks of wireless, COST, and DNT forms. VXML management and state reporting can be practiced using only standard COST telephones without requiring any software on the end communication device.
The method and apparatus of the present invention should be afforded the broadest scope in view of the many possible applications, many of which have been detailed above. The spirit and scope of the present invention is limited only by the claims that follow.

## Claims

1. A network system for enabling voice interaction between communications-center applications and human agents remote from the center comprising:
a primary server connected to the network the server controlling at least one routing point used by the center;
a secondary server connected to the network the secondary server for generating and serving voice extensible markup language;
a voice gateway associated with the secondary server, the gateway for executing voice extensible markup language and recognizing speech input; and
a software platform based in the primary server and distributed in part as a server application to the secondary server, the software suite functioning as a data transformation interface between the center applications and the gateway;
characterized in that the remote agents report state information over the network to the center using speech, the speech recognized and text rendered at the gateway, the text transformed to one or more formats understood by the primary server and certain ones of the center applications and, wherein data sourced from center applications destined to remote agents is provided and incorporated to one or more VXML scripts at the secondary server, the scripts executed by the gateway, the gateway connecting to voice-capable devices used by the remote agents over the network, the scripts played as synthesized voice media.

2. The system of claim 1 wherein the network includes at least one of a wired telephony network, a wireless communications network and a wide area network all bridged for seamless communication.

3. The system of claim 1 wherein the network includes the Internet network, the public switched telephone network, and a wireless digital network.

4. The system of claim 1 wherein the communications center applications include computer telephony integration compatible applications.

5. The system of claim 1 wherein the at least one routing point is a private branch exchange telephony switch.

6. The system of claim 1 wherein the secondary server is a Web server and the distributed part of the software suite is a Web-based application.

7. The system of claim 1 wherein the gateway contains an interpreter application that controls automated speech recognition software and text to speech software.

8. The system of claim 1 wherein the voice-capable devices are COST telephones.

9. The system of claim 8 wherein the telephones are cellular telephones.

10. The system of claim 1 wherein the voice-capable devices are one of an IP telephones a personal digital assistant, or a computer telephony application.

11. The system of claim 1 wherein the server application uses XML-Style Sheet-Language-Transformation for transforming VXML to XML-based languages.

12. The system of claim 1 wherein the data sourced from center applications includes center-archived data and data related to active telephony events.

13. The system of claim 1 wherein the VXML scripts are generated from VXML templates during active interaction and executed immediately thereafer in event routing scenarios.

14. A method for receiving at a communications center routing point state information, the information reported vocally from a non-CTI-enabled agent telephone remote from the center and routing a subsequent telephony event and optionally, event-related data, from the routing point to the remote agent's telephone based on at least the reported state information and optional caller interaction comprising steps of:
(a) connecting to and interacting with a predetermined telephone number dialed from the agent telephone, the number registered to a gateway application, the interaction therewith comprising at minimum prompted vocalization of the agent state reported thereto;
(b) recognizing at the gateway the vocalization of state information and populating one or more data fields of a VXML script with a text version of the state information reported;
(c) transforming the language of the script to one or more languages understood at the routing point rendering the information available to the routing point;
(d) receiving an incoming event destined for the remote agent at the routing point and optionally, interacting with the caller from the routing point to obtain event related data;
(e) routing the event to the agent telephone, simultaneously making the event related data available to a VXML-enabled server,
(f) transforming the event related data to a form useable in one or more data fields of a VXML script; and
(g) establishing a telephone connection to the remote agent, executing the script once connected.

15. The method of claim 14 wherein in step (a) the gateway application is VXML-enabled.

16. The method of claim 14 wherein in step (a) the agent telephone is a cellular telephone and the connection method is wireless.

17. The method of claim 14 wherein in step (a) the agent telephone is a plain old telephony service (POTS) telephone and the connection is made through normal public-switched-telephone channels.

18. The method of claim 14 wherein in step (a) the gateway application is associated with a VXML-enabled Web server.

19. The method of claim 14 wherein in step (b) the gateway uses automated speech recognition to interpret vocalized state information.

20. The method of claim 18 wherein in step (b) the VXML script is generated by the Web server.

21. The method of claim 14 wherein in step (c) language transformation includes use of XSLT and is performed by a Web server application.

22. The method of claim 14 wherein in step (c) a Web server serves the data to a server controlling the routing point the server hosting an application for implementing any required configurations or notifications to other applications.

23. The method of claim 14 wherein in step (c) the information is XML-based.

24. The method of claim 14 wherein in step (d) interaction with the caller is performed using interactive voice response technology.

25. The method of claim 14 wherein in step (d) event related data is supplemented with archived data.

26. The method of claim 14 wherein in step (e) the event related data is uploaded as XML data to the server.

27. The method of claim 14 wherein in step (e) the VXML-enabled server is a Web server.

28. The method of claim 14 wherein in step (f) the transformation of data is performed using XSLT by a Web application.

29. The method of claim 14 wherein in step (g) the telephone connection is established and script execution is performed by a VXML-enabled gateway.

30. The method of claim 14 wherein in step (g) executing the script results in voice synthesis of the populated dialogue fields of the script played over the telephone connection.

31. The method of claim 14 wherein in step (g) the telephone is not the same telephone used to pick-up the related call routed in association with the event related data.

32. The method of claim 14 wherein in step (g) the agent is already connected to the caller and places the caller on hold to receive the event related data on the same telephone.