Method and apparatus for controlling a contact center
A switching apparatus for a contact center is integrated into a legacy contact center including a PBX. The switching capacity of both of the PBX and the switch are utilized efficiently by handing off controller specific desktop agents between the central processor and the PBX.
Latest Cellit, Inc. Patents:
 This invention relates to telecommunications contact centers, and more specifically, to an improved technique of controlling and monitoring a plurality of agent stations in the contact center.BACKGROUND OF THE INVENTION
 Many large customer oriented companies maintain a call center in order to permit agents to interact with customers. A typical example of such a call center would be that maintained by an airline or credit card company, where customers may call in with questions, make reservations, etc. Often the call centers include the ability to do automated outbound calling to selected customers as well.
 Recently, these call centers have evolved into full “contact centers.” A contact center is substantially the same as a call center other than the fact that communications may be in a variety of media, instead of just by telephone. For example, a contact center may have the ability to support agent customer interaction via e-mail, web chat, video, etc. The particular types of interactions are the subject of the client's own choice, and the contact center may support some or all such interactions.
 Contact centers will often co-exist and complement PBX systems. PBX systems provide telephony functions to a set of users in a business environment. In one type of architecture, contact center software will direct the operation of the PBX via a computer telephony interface (CTI) link.
 Recently, full contact center systems have become available that comprise both contact center software and contact center switches in a single system. One such contact center system is sold by the Assignee of the present patent application under the trademark CCPRO. These contact center systems typically comprise a plurality of call center software applications as well as switching capability for routing incoming and outgoing contacts between customers and agents. In many modern contact centers, the call center system is added to an existing PBX system.
 When adding a call center system, an issue arises regarding how to integrate such new hardware, and associated software, with the existing PBX and agent stations. Specifically, both the PBX and the contact center switch contain switching capacity, and both may be addressing the same set or subset of users. Thus, there is the potential for conflict in controlling the operation of the call center. It is important to note that either the PBX or the contact center switch can use either traditional analog or digital telephony to connect the desktop devices together, and to connect desktop devices to the public networks; or either or both the PBX or the contact center switch can use packet or cell based data networks—for example, an Internet protocol network—to provide such connectivity.
 FIG. 1 shows a typical technique utilized to integrate the call center applications hardware/software (hereinafter “call center application's switch”, “call center switch” or “switch”) with the PBX. In the arrangement of FIG. 1, a semi-permanent connection is “nailed up” between call center applications 102 and telephones 104-106. The PBX is used to nail up this connection, operating as a semi-permanent patch panel rather than an actual switching device. Specifically, the PBX is utilized to establish semi-permanent connections from telephones 104-106 to call center applications switch 102. The semi-permanent connections are established when an agent logs on to the contact center system, and persist during the period of time in which the agent is logged in. Different semi-permanent connections are established through PBX 103 for each of the telephones 104-106. The nailed up connection is initiated by switch 102 after the agent at one of terminals 107-109 logs onto switch 102. Switch 102 knows which telephone extension is associated with each of terminals 107-109, and can thus nail up the appropriate connection. The data and voice terminal are associated with each other to form the agent positions 120-122 as shown.
 In the arrangement of FIG. 1, call center switch 102 includes switching hardware analogous to that included in the PBX. Thus, all of the applications and the switching are executed on the hardware denoted call center switch 102. The PBX is simply left to patch connections together.
 One problem with the arrangement of FIG. 1 is the increased cost resulting from all of the connections. Specifically, switch 102 requires a port to connect to each of data terminals 107-109, another port for each voice terminal 104-106 connected to the switch through the PBX 103, and still further ports for connecting to the public network 101. This increases hardware and software requirements, as well as cost, and also decreases reliability by having too many failure points.
 A second configuration for utilizing a call center application switch to implement a call or contact center is shown in FIG. 2. The arrangement of FIG. 2 includes a local area network (LAN) 210 for interconnecting the call center application switch 206 with a plurality of agent stations. The functionality required for all of the call center applications, as well as the ability to switch contacts into and out of the call center, is contained within call center application switch 206. It is noted that while the LAN 210 is shown as interconnecting the agents with the call center application switch, separate connections between the call center switch 206 and agents 201-204 may also be implemented. The approach shown in FIG. 2 also has several flaws. One problem is that the PBX is eliminated from the entire architecture. The functionality of the PBX is instead implemented in call center application switch 206. However, since such a switch is not designed to be a full PBX, some of the functionality of a typical PBX is not included in such a call center switch. For example, general purpose conferencing, unified messages and other functions normally included in the PBX are typically not included in a call center applications switch.
 Still another architecture for integrating a call center application switch with the PBX is shown in FIG. 3. The architecture of FIG. 3 includes a separate PBX 302 and a call center applications switch 301. Each of the PBX 302 and call center application switch 301 may independently talk to a wide area network (WAN) 350. Agents that require a call center applications to service customers are connected to a LAN 320 for communication with call center applications switch 301. General personnel within the company, whose telephone sets are indicated by 303-306, are connected only to PBX 302 for general inbound and outward calling. Finally, supervisory personnel 311-315, who require access to both the PBX 302 for general calling purposes, and to call center applications switch 301 to monitor and/or participate in call center applications, are connected to both PBX 302 and call center applications switch 301.
 The arrangement of FIG. 3 permits those personnel utilizing mostly PBX functionality to configure their systems with only one port for access to the PBX. Personnel stationed at stations 307-310 are typically configured for access to call center applications switch 301. The disadvantages of the arrangement shown in FIG. 3 is that any of the personnel at stations 311-315 may be on the telephone or servicing a contact from either PBX 302 or call center applications switch 301, when the other of the two requests contact with the particular person. Moreover, the stations 311-315 which require access to both, also require duplicative hardware and software.
 In view of the above, there exists a need in the art for an improved and economical manner in which a contact center system can be integrated into a system, which also includes a PBX. Ideally, the functionality of both the PBX and contact center applications switch 301 should be utilized in conjunction with one another to maximize the effectiveness of the system.SUMMARY OF THE INVENTION
 The above and other problems with the prior art are overcome in accordance with the present invention, which relates to an integrated contact center capable of inward/outbound calling which utilizes both a call center application switch and a conventional PBX. Both are in communication with all agents over a local area network, and software resident preferably in the applications switch control—directly or indirectly—which of either the applications switch or the PBX accesses and/or controls the various agent stations.
 Control of agents stations may be passed between the PBX and contact center switch either on a temporary bases or a semi-permanent basis, or even on a permanent basis. Tables may be maintained in the call center applications switch indicating all of the agents available online, and which of the PBX or call center applications switch has control over such agents.BRIEF DESCRIPTION OF THE DRAWINGS
 FIG. 1 shows prior art contact center configuration;
 FIG. 2 shows a'second prior art contact center configuration;
 FIG. 3 shows still another prior art contact center configuration in which a contact center utilizes both a PBX and a contact center switch;
 FIG. 4 shows the architecture an exemplary embodiment of the present invention; and
 FIG. 5 shows a flow chart of software which preferably runs in the contact center switch in accordance with the teachings of the present invention.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
 FIG. 4 depicts a high level functional diagram of the basic architecture of the present invention. The arrangement of FIG. 4 represents only an exemplary embodiment, and other network configurations are possible.
 Public network 480 may be the public switched telephone network (PSTN) or, in the case of more modem contact centers, may be the Internet. Moreover, it is possible that either PBX 401 or switch 402 may communicate with one or both of the Internet and the PSTN. The arrangement of FIG. 4 also includes a local area network (LAN) 410, exemplary agent terminals 404-408, each connected to communicate with the PBX 401 via LAN 410. Each agent is also connected to contact center switch 402, and may access the contact center applications as needed. Each agent station 404-408 may include an audio terminal and a data terminal.
 In operation, the PBX switch fabric within PBX 401 can respond to and initiate communications between any desktop device 404-408 and any other desktop device 404-408 and/or public network 480. The default condition is that the PBX is connected to the desktop agents 404-408 and has complete control over such agents. When a particular agent desires to log directly into the switch 402, that agent logs on and the switch 402 then takes control over the desktop from the PBX 401.
 Optionally, the switch 402 may advise the PBX 401 over LAN 410 of the hand-off in control for a particular agent. Alternatively, the desktop agent itself may send either an in-band or out of band message to PBX 401 indicating that control has been passed off to the switch 402. Another method is for the contact center switch to initiate a connection to the appropriate agent at the beginning of the agent's shift via the PBX. This is accomplished by sending a signal to the PBX to create a virtual connection from the contact center switch to the agent; in this instance, the contact center switch looks to the PBX like a set of desktop devices or a set of multi-channel packet trunks—no special protocol or API is required to coordinate interaction between the PBX and the contact center switch.
 In all cases, since only control information is sent to the PBX from the contact center switch, and such control information goes over the existing local area network, no extra hardware is required to establish and maintain the connection between the contact center switch and the agent desktop, yielding a cost-effective solution for coordinating interaction between the contact center switch and the PBX.
 Once an agent is logged into the switch 402, the switch 402 may interact with such agent to facilitate the implementation of numerous applications. Such applications may involve the interconnection of agent stations with parties over public network 480, the interaction of agent stations with other computers, and/or any of a variety of functions typical of contact centers.
 The switch 402 may also interface with other peripherals (not shown) such as database servers, integrated voice response systems, etc. The switch 402 may have more or less switching capacity than PBX 401.
 In an additional embodiment, the switch 402 and PBX 401 may arbitrate control of specific agent stations over LAN 410. The switch 402 may itself control which of PBX 401 or switch 402 controls any particular agent station.
 During contact center operation, the switch 402 switching fabric may occasionally need to connect with a desktop agent station being controlled by PBX 401. Such a scenario could arise when a contact taking place via switch 402 requires a supervisor or other desktop agent to patched in, and wherein such supervisor or other desktop agent is controlled by the PBX 401 rather than switch 402. Such temporary patch-ins can be accomplished via a temporary hand-off for a particular contact. After the contact is completed, control will automatically revert back to the PBX for the additional agent patched into the switch 402.
 One exemplary technique for accomplishing the foregoing is to define a message exchange protocol between the PBX 401 and the call center switch 402. A default condition includes control of a specified agent, (e.g., 406) being vested in the PBX 401. When it is desired to redirect control of the agent to the call center application switch, a message is sent from the call center switch 402, to the PBX, which causes the PBX to relinquish control of the agent. Thus, the PBX 401 will no longer send messages to the agent and/or read responses. At a time when control was turned over to the call center application switch 402, the optional table within said switch 402 is updated to reflect the fact that call center switch 402 is now in control of the particular agent 406. Messages may now be transmitted from call center switch 402 to agent 406, and the PBX will send no further messages to agent 406 until advised to do so by call center switch 402.
 Note that the handoff of control may optionally be accomplished without the agent 406 even knowing. Instead, the address of the PBX on the network is known to the call center switch 402. Thus, during such time as switch 402 has control, it will receive messages destined for the PBX network address and originated by agent 406 will process such messages. At the end of the time that switch 402 is controlling agent 406, it will send a message to PBX 401 to relinquish control and then cease itself to receive or process messages from agent 406.
 By communicating with the switch 402 and PBX 401, all of the switching capacity of both of the modern switch 402 and the PBX 401 may be utilized. There is no master slave relationship, nor is the PBX utilized as a patch panel, thereby effectively wasting its switching capacity. Rather, the switching capacity of the contact center is comprised of the switching capacity of both of the PBX 401 and switch 402, thereby maximizing the use of all components in a hybrid configuration.
 A table may be maintained within the switch 402. If control is to be transferred to the PBX 401, the table so indicates and the switch 402 then knows not to attempt control of such an agent. Alternatively, any of the agents 404-408 may designate whether they ought to be controlled by the switch 402 or the PBX 401. By sending an appropriate message to both PBX 401 and switch 402, control conflicts are avoided and the specified device maintains control of the desktop agent until a new message is sent by such agent. In such a system that allows each agent station to specify whether the call center 402 or the PBX 401, the call center switch 402 may still have the ability to at least temporarily override such preference. This ability would be utilized in the event that one of agents 404-408 is requested on a call that is not controlled by whichever of PBX 401 or switch 402 is controlling the subject agent. Thus, control is normally as specified by the agent, except for temporary overrides.
 In other embodiments, the switch 402 itself may assign the PBX to handle certain agent stations, while maintaining control of other agent stations for itself based on any desired factors. This decision made by the switch may account for a variety of factors. For example, applications which involve agents simply receiving a call from a calling customer, and little more, may be handled by the PBX, since such applications require only basic switching capabilities. Other applications, which require conferencing, supervisors, or interface with other processors and computers and thus, require the vast functionality of switch 402, may be handled through such central processor.
 Still another criteria for dividing control of desktop agents 404-408 may be the role in which any agent is placed at any particular duration of time. For example, an agent designated to a particular simplistic task which can be handled by the PBX 401 may be controlled solely by the PBX 401, whereas the same agent, when redesignated for other tasks, may be controlled by the central processor. The control may be divided among switch 402 and PBX 401 based upon simply the number of agents each is capable of controlling, as well as the switching capacity available in each of the switch 402 and PBX 401. Any subdivision of agents between one of more PBX's and one or more call center switches may be implemented, thereby allowing the switching capacity of both the switch 402 running the applications, as well as the PBX 401, to be used.
 FIG. 5 shows a high level flow chart of the steps executed by the switch 402 when one of agents 404-408 logs on. At start 501, the log on message is received at block 502 and control is transferred to block 503. The log on message includes information from the agent logging on indicative of whether such agent should be controlled by switch 402 or PBX 401. Such information may be derived by the roll in which the agent is acting, or privileges granted by the security software operable within each one of agent terminals 404-408.
 The switch 402 determines whether it or PBX 401 will be controlling the particular agent and advises PBX 401 of the same at block 504. Control is then given to switch 402 at block 505, and tables indicative of each of the agents 404-408, as well as whether the PBX 401 or switch 402 is controlling each such agent, are updated.
 It is noted that the functional diagram shown in FIG. 5 is for implementing the configuration in which the determination as to which of PBX 401 or switch 402 controls each of agents 404-408. It is notable however, that the determination may be made in advance in the programming of switch 402. Specifically, as previously noted, switch 402 may itself include a preprogrammed table indicative of which of the agents should be controlled by itself, as well as which agent should be controlled by PBX 401. In such a case, when an agent logs on the switch immediately looks up the appropriate information and either transfers control the PBX 401 if required or maintains control of the agent on its own. Alternatively, the switch can be programmed to a default, with the agent having an option to override that default.
 While the above describes the preferred embodiment in the invention, various modifications or additions will be apparent to those of skill in the art. Such modifications and additions are intended to be covered by the following claims.
1. Apparatus for controlling a plurality of agent stations in a contact center, said apparatus comprising:
- a switch, for running contact center applications software and for controlling agent stations and facilitating switching between agent stations and customers or other agent stations;
- a Private Branch Exchange (PBX) for controlling agent stations and for facilitating switching between said agent stations and said customers or other agent stations;
- control means for determining whether a particular agent station should be controlled by said PBX or said switch, and for allocating said control.
2. The apparatus of claim 1 wherein said control means is contained within said switch.
3. The apparatus of claim 1 wherein said control means relies at least in part on a message sent from a particular agent in order to determine whether said particular agent should be controlled by either the PBX or the switch.
4. The apparatus of claim 3 wherein said control means maintains a table indicative of which of said agent stations are presently being controlled by said switch, and which are being controlled by said PBX.
5. The apparatus of claim 1 wherein said control means allocates control to said PBX for some duration and then allocates control to said switch for some duration.
6. The apparatus of claim 1 wherein said allocation is dynamic, said control being changed repeatedly from said PBX to said switch during operation.
7. Apparatus for implementing a contact center comprising:
- a PBX, for switching contacts within said contact center;
- a switch, said central processor comprising means for switching contacts within said contact center, and means for controlling whether said switch or said PBX is responsible for switching said contacts to and from any particular agent.
8. The apparatus of claim 7 wherein said switch further comprises means for running software contact center applications, said applications being implemented in contacts controlled by said PBX as well as in contacts controlled by said switch.
9. The apparatus of claim 7 wherein said means for controlling comprises apparatus for temporarily changing a particular agent contacts from being controlled by said PBX to being controlled by said switch for the purpose of a single contact or portion thereof.
10. Apparatus of claim 8 wherein said means for controlling comprises apparatus for temporarily changing a particular agent contacts from being controlled by said switch to being controlled by said PBX for the purpose of a single call.
11. An agent station for use in a contact center, the agent station comprising:
- means for establishing contacts through a switching arrangement; and
- means for sending a message indicative of which of a plurality of switching arrangements is to determine which contacts are routed to and from said agent station.
12. The agent station of claim 10 wherein said means for sending a message sends messages indicative that a different one of said switching arrangements should control said agent station.
13. A switch for use in a contact center comprising:
- control means for instructing a PBX as to which of a plurality of agents said PBX is responsible for controlling;
- switching means for switching contacts to and from agents, the control of which is not done by the PBX.
14. The switch of claim 12 wherein said control means dynamically varies, during system operation, which agents are controlled by said switch, and which agents are controlled by said PBX.
15. A method of switching contacts through a contact center to an agent comprising:
- determining, for a particular agent, which of either a PBX or other switch should control the particular agent; and
- after said determination, switching said contact through to said agent via either the PBX or the switch, as said determining step requires.
16. A method of controlling an agent station in a contact center, the method comprising the steps of:
- logging on from the agent station and specifying, during said logon, which of a plurality of at least two switching means should control switching to and from said agent; and
- during operation of said center, controlling said agent station by a different one of said at least two switching means temporarily.
17. The method of claim 16 wherein one of said switching means is a contact center having software applications and another of said switching means is a PBX.
18. A call center switch comprising:
- a processor for receiving a logon message from each of a plurality of agent terminals, and for parsing the logon message to ascertain a specified one of several possible switching arrangements to interface said agent sending said logon message to a public network; and
- switching means for switching contacts to and from agents.
19. The call center switch of claim 18 further comprising a table within said switch for maintaining a list of which agents are presently being controlled by each of said several switching arrangements.
20. The call center switch of claim 19 connected to a Local Area Network (LAN), and wherein said LAN is connected to a PBX.
21. A method of processing a contact in a contact center to facilitate the intervention of an additional party, the method comprising the steps of:
- facilitating a connection between an agent station and a remotely located terminal over a public network, the agent station being controlled by a contact center switch connected to a LAN;
- signaling said contact center switch to add an additional entity to the contact;
- sending a message from said contact center switch to a PBX over said LAN, said message causing control of said entity to be added to change from said PBX to said contact center switch, and
- adding said entity to said contact.
22. The method of claim 21 wherein control of said added entity is returned to said PBX during said contact.
23. The method of claim 22 wherein control of said agent is returned to said PBX after said contact is completed.
24. A contact center switch comprising:
- processing means for receiving logon messages from a plurality of agents, each agent capable of operating in a plurality of roles, the logon messages containing information indicative of which role in which the agent is operating; and
- software for determining, based at least in part on the logon message, whether the switch or another device controls said each agent.
25. The contact center switch of claim 24 wherein said other device is a PBX.
26. Apparatus of claim 25 wherein said PBX and said contact center switch are connected to a network, said agents also being connected to said network, and wherein a communications protocol is used to communicate between said contact center switch and said PBX over the network, and wherein said contact center switch and said agents communicate using the same communications protocol.
27. A method of determining which of a plurality of switching apparatus connected to agent stations in a contact center should control each of said agents, the method comprising the steps of:
- receiving a logon message from each of a plurality of agents, and
- assigning control of said agent for the initiation and acceptance of contacts through one of a plurality of switching apparatus, said step of assigning being based at least in part upon said logon message.
28. The method of claim 17 wherein different agents are assigned to different switching apparatus.
International Classification: H04M003/00; H04M005/00; H04M007/00;