Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
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.
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 Interaction of a Remote Knowledge Worker from a Contact Center filed on Oct. 10, 2002, 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, which is a CIP to 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 INVENTIONThe 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 INVENTIONIn 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 INVENTIONIn 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
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
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.
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 modem 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
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
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
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
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 (
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.
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 maybe 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.
KWP 402 is analogous to KWP running on processor 303 described with reference to
It is noted herein that AD, described with reference to
A PC 405c is illustrated in this example and is analogous to desktop 311 described with reference to
Referring now to
Referring now to
Referring now to
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
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
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.
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
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 below.
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:
TEvent Structure
The following code exemplifies the structure of a transaction event (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.
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.
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.
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.
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.
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.
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.
This example is similar in some respects to the example described with reference to
Referring now back to
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
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 maybe 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.
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
Referring now back to
Referring now back to
At step 2101, a VXML gateway analogous to gateway 1904 described with reference to
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
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.
At step 2201 WVR 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.
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-32. (canceled)
33. 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 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.
34. The method of claim 33 wherein in step (a) the text alert is a request from a communications application, the request tied to an activity threshold detected by the application.
35. The method of claim 34 wherein in step (a) the application is a load balancing application and the activity threshold quantifies a current call load.
36. The method of claim 33 wherein in step (a) the server is a Web server the alert uploaded thereto from a contact center.
37. The method of claim 33 wherein in step (a) the alert is rendered in the form of XML.
38. The method of claim 33 wherein in step (b) transformation includes use of XSLT and is performed by a Web server application.
39. The method of claim 33 wherein in step (b) a VXML script is generated containing the alert.
40. The method of claim 33 wherein in step (c) wherein the connection is established by a VXML-enabled gateway associated with the server.
41. The method of claim 33 wherein in step (c) the connection is established to a cellular telephone through a wireless network.
42. The method of claim 33 wherein 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.
43. The method of claim 33 wherein in step (c) the telephone connection is established and script execution is performed by a VXML-enabled gateway.
44. The method of claim 43 wherein in step (c) executing the script results in voice synthesis of the populated dialogue fields of the script played over the telephone connection.
45. The method of claim 43 wherein in step (c) script execution involves text-to-speech technology.
Type: Application
Filed: Nov 29, 2005
Publication Date: May 4, 2006
Inventors: Petr Makagon (San Francisco, CA), Andriy Ryabchun (San Francisco, CA), Nikolay Anisimov (Concord, CA)
Application Number: 11/290,925
International Classification: G06F 15/173 (20060101);