Contact center system capable of handling multiple media types of contacts and method for using the same

A contact center system and method employing a plurality of agent workstations, and which includes a queuing component, capable of receiving contacts of different media-types, such as telephone calls, e-mails, facsimiles, web chat, voice over internet protocol, and so on, and maintaining the different media types contacts in a common queue while awaiting routing to the agent workstations. The system further comprises a routing component which routes the queued contacts to the agents based on criteria of the contacts, criteria of the agents, or both. A media changing component of the system is capable of changing a media-type of any of the media-type contacts to generate a changed media-type contact, while the queuing component is capable of entering the changed media-type contact in the common queue, and the routing component is capable of routting the queued changed media-type contact to at least one of the workstations. A contact handling component initiates an event at any of the workstations in response to the contact being routed to the workstation, so that an agent at the workstation can handle the contact as appropriate.

CROSS-REFERENCE TO RELATED APPLICATIONS

Related subject matter is disclosed in a co-pending U.S. patent application of Gary E. Korzeniowski, William R. Lewis, Jr., and Ly K. Peang-Meth entitled “Method and System for Enabling Computer Terminals in a Call Center Environment to Display and Perform Telephony Related Functions,” Ser. No. 09/260,549, filed on Mar. 2, 1999, the entire contents of which is expressly incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a contact center system capable of handling different types of media contacts. More particularly, the present invention relates to a contact center system capable of receiving contacts of different media types, such as telephone calls, e-mails, facsimiles, web chat, voice over Internet protocol, and so on, maintaining the different media-type contacts in a common queue, and distributing the queued contacts to appropriate agents in the contact center for handling based on criteria associated with the contacts and the available agents.

2. Description of the Related Art

Many businesses such as commercial retailers, financial institutions such as banks and lending companies, credit card companies, telemarketing companies, and so on, employ customer service representatives or agents who assist customers by telephone. Generally, the agents are grouped into a particular environment commonly known as a “call center”. Typically, each agent is assigned to a telephone having a particular extension number. The telephones are connected to a telephony switch, such as a private branch exchange (PBX), or preferably, an automatic call distributor (ACD) which functions to distribute incoming calls to the agents.

That is, a call center will typically have one or more telephone numbers, such as toll-free numbers, which customers can call to place a purchase order, register a complaint, or conduct other business with an agent. When the telephony switch receives an incoming call, the telephony switch searches for an extension number that is available, and transfers or switches the incoming call to that extension number. The phone assigned to that extension number rings, and when the receiver is taken off-hook by the agent, the agent is connected with the incoming call.

The agent can then take the caller's information over the phone, and manually enter that information into a computer terminal. The information is then handled in the appropriate manner by the computer system assigned to the call-center. For instance, if the caller wishes to place an order, the agent may enter the information in a computer-generated order form which appears on the agent's computer display screen. Also, if the caller is a repeat customer, the agent can use the computer terminal to access the caller's files, based on the caller's name, telephone number, credit card number, or the like.

In recent years, technology has developed to enable computer terminals in call centers to display information in response to incoming calls being handled by the telephony switch. For example, an article by Dialogic Corporation entitled “An Introduction to Computer Telephony”, published in IEEE Communications Magazine in May 1996, describes a computer telephony system which controls an agent's computer terminal to display or “pop-up” certain information in response to an incoming telephone call routed to that agent.

That is, when the incoming call is received at the agent's telephone, the system also sends a telephone event message to the agent's computer terminal. The telephone event message is processed by a program running at the agent's computer terminal, which enables the program to retrieve desired data from a database. The computer terminal can display the retrieved information on the computer display screen when the agent answers the incoming call. Accordingly, the agent can receive information over the phone from the caller, and enter that information into the computer at the appropriate positions on the display screen. The agent can also use the information displayed on the display screen to assist the caller with his or her particular problem.

Although known computer telephony call centers provide some benefit in enabling an agent to handle incoming calls, traditional call centers are incapable of efficiently handling requests made in media other than telephony. For example, traditional call centers are incapable of efficiently routing customer request or complaints that are received, for example, via facsimile. Also, although the agent's individual computer terminals may be equipped with e-mail, these traditional call centers generally do not have a mechanism for routing customer e-mails to the agents for handling. Furthermore, call centers of this types are incapable of supporting any internet-based activity from customers, such as voice over Internet protocol (voice over IP) communications, web chat communications, and so on.

With the proliferation in use of the Internet, many businesses have found traditional call centers to be unsuitable for servicing their customers. Accordingly, call centers are being expanded to be capable of handling other types of Internet-based media, such as e-mail and web-based communications. For example, U.S. Pat. No. 5,884,032 to Bateman et al. describes a call center having some limited web-browser based capabilities. Specifically, the patent describes a call center which allows a customer to submit a call-back request to the call center via an entry on the call center's web page. The call center will then place the call back to the customer, and establish a telephony connection between the customer and an agent in the call center, so that the agent can service the customer.

However, the call center disclosed in the Bateman patent, as well as other call centers having limited web-browser based capabilities, are incapable of sufficiently handling contacts from customers that are received over different types of media, such as via facsimile, e-mail, Internet-based media, and so on. In particular, these conventional call centers are incapable of collectively routing the different types of media contacts to the appropriate agents in a timely and organized manner.

Accordingly, a need exist for a call center that is capable of receiving contacts over various types of media, such as telephony, e-mail, facsimile, Internet-based media, and so on, and efficiently routing the received contacts to the appropriate agents in the call center for handling for handling in a timely manner.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a contact center system capable of efficiently and effectively handling different types of media contacts.

Another object of the present invention is to provide a contact center system capable of receiving and maintaining different types of contact media in a common queue when awaiting routing to the appropriate agents of the call center system.

A further object of the present invention is to provide a contact center system capable of receiving contacts of different media types, such as telephone calls, e-mails, facsimiles, web chat, voice over Internet protocol, and so on, maintaining the different media types contacts in a common queue, and distributing the queued contacts to appropriate agents in the contact center for handling based on criteria associated with the contacts and the available agents.

These and other objects are substantially achieved by providing a contact center system comprising a plurality of agent workstations, and which includes a queuing component, capable of receiving contacts of different media-types, such as telephone calls, e-mails, facsimiles, web callbacks, web chat, voice over internet protocol, and so on, and maintaining the different media types contacts in a common queue while awaiting routing to the agent workstations. The system further comprises a routing component which routes the queued contacts to the agents based on criteria of the contacts, criteria of the agents, or both. A media changing component of the system is capable of changing a media-type of any of the media-type contacts to generate a changed media-type contact, while the queuing component is capable of entering the changed media-type contact in the common queue, and the routing component is capable of routting the queued changed media-type contact to at least one of the workstations. A contact handling component initiates an event at any of the workstations in response to the contact being routed to the workstation, so that an agent at the workstation can handle the contact as appropriate.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1is a block diagram of a contact center100according to an embodiment of the present invention. The contact center includes a plurality of agent work stations102which are each operated by an agent, such as a customer service representative or the like. Each agent workstation102includes a computer terminal having a computer display screen, and standard required hardware, such as a CPU, ROM, RAM, and so on. For exemplary purposes, only one workstation102is shown.

The computer terminal of each agent workstation102should include, or otherwise have access to, a Java-enabled web browser with a Java virtual machine supporting version 1.1.4 or better of Java. Netscape 4.06 or better and Microsoft Internet Explorer 4.72.2106.8 or better both meet this requirement. Hot Java also can be a suitable web browser.

Each agent workstation102is associated with a respective keypad-type telephone station104(hereinafter referenced to as a “telephone”). For exemplary purposes, only one telephone104is shown. The telephones104each include a standard telephone headset, or alternatively can include a headset having an earphone and a microphone. A unique extension number is assigned to each telephone104. For example, sequential 3-digit extension numbers “100,” “101,” . . . ” nnn” can be assigned to the telephones104. However, the extension number can be assigned in any manner and can include any desired number of digits.

As further shown inFIG. 1, the telephones104are connected to a telephony switch106, such as an ACD known in the art. The telephony switch is connected to the public switched telephone network (PST)108, which is in turn connected to residential, commercial, and public telephones. An exemplary keypad-type telephone is shown as a customer telephone110. Also, a customer can have a customer facsimile (fax) machine112, which is also connected to the PSTN108.

As further shown, the telephony switch106can be connected to an interactive voice response (IVR) server114or other automated attendant features, which provide a caller with voice instructions to enter information pertaining to the manner in which the call should be handled by the telephony switch106.

The telephony switch106is further connected to computer telephony integration (CTI) server116by a CTI link, the functions of which are described below. Furthermore, the telephony switch106is connected to a fax server118, the functions of which are described below.

As further shown inFIG. 1, the computer terminals of the agent workstation102, along with the IVR server114and fax server118are coupled to a local area network (LAN) or, alternatively, a wide area network (WAN), and thus communicate with each other over the LAN/WAN120. As described in more detail below, the contact center100further includes a contact center server122, an Intranet/extranet WWW server124, an application server126, a customer database128, and a customer legacy system130, which are all connected to the LAN/WAN120.

As further described below, the contact center system100is capable of receiving and routing Internet-based contacts. Accordingly, the call center system100includes an e-mail server132, an Intranet/extranet WWW server134, a chat server135, a voice over internet protocol (VoIP) server136, a video server,138, and remote-access server140, which are each capable of providing Internet access for the contact center system100, and are each connected to the LAN/WAN120. For example, the e-mail server122, WWW server134, VoIP server136, video server138, and remote-access server140are capable of handling Internet-based media that can be received over the Internet142from a customer PC144running a Java-enabled web browser of the type described above, or any other suitable web browser.

Furthermore, the remote-access server140provides access to remote agent workstations146of remote agents148that are at locations remote from the contact center system100. Like the agents who are local to the contact center system100, the remote agents148also include agent telephones150associated with the agent workstations146. As shown, the remote agent telephones150can communicate with the telephony switch106via the PSTN108.

As will now be described, the contact center system100is configured to receive, organize, queue, and properly route contacts of different media types to the agent telephones104and, if appropriate, to the agent workstations102. The system100can also route the contacts to the agent telephones150and, if appropriate, to the agent workstations146of the remote agents148.

One of the basic structures used in the contact center system100to achieve this organizing and routing of contacts is a concept known as a “campaign”. The term originally comes from a traditional call center where the basic measure of work was the telephone call and “campaigns” were created to organize the workers within a call center around the various types of telephone calls that were received or made.

Campaigns are often thought of as outbound telemarketing campaigns where a plan is organized, a list of contacts are identified, a time frame for running the campaign is decided, a script is developed, and a desired response is sought. Once initiated, specific results are recorded to measure the success of the campaign.

Generally, and for purposes of this disclosure, a campaign is defined as a focused set of resources targeted towards achieving a specific goal according to a pre-established plan. Campaigns are not restricted to outbound telemarketing activities. Within the contact center system100, campaigns are the universal elements upon which the work of a contact center can be organized. Campaigns can be either outbound or inbound. Campaigns are not necessarily dependent upon selling a product or requesting a response from a specific group. There are customer service campaigns where the campaign is created for anyone calling in with a question. There can be a technical support campaigns where problems are reported. Basically, any organized structure created to accept, distribute, and monitor work coming into an organization using any media type is considered a campaign. An example of criteria of a campaign for the call center system100is set forth in the attached Appendix.

As exemplified in more detail below, once a contact is initiated, the contact center system100prioritizes the contact and sends it to the agent queue. Based on the priority ranking for customer type, customer media type, agent skill needed, or type of contact, all of which are set up in advance by the system administrator, the contact is moved higher and higher in the queue. Thus, the best customers can be handled quickly, and by the best available agent.

As also exemplified in detail below, the software and related hardware of the contact center system100provide multimedia blending in a contact center. Specifically, the software and related hardware provide unified queuing of all media types, such as e-mail, telephony, web chat, and web call back into a single unified queue. The software and associated hardware also provide skills-based and priority-based routing of these contacts to agents within the contact center.

Configuring the Call Center System

Before the first contact is received, the contact center system100must be configured. Also, prior to beginning the actual process of configuring the contact center system is begun, there is a significant amount of information that should be gathered from a variety of different sources.

Some types of information are required, while other types are optional, or not needed unless the system will be handling a particular media type requiring certain information. Once the system100is ready to be configured, the following configuration information is inserted in the sequence shown in Table 1:

TABLE 1Exemplary Configuration InformationRequired DataRouting RulesThis will include creating a set of skills, customertypes, and media types.AgentsThis will include creating agent profiles and linkingskills and media types to the Agent.TelephonyThis will include configuring the telephony extensions,devices, and IVR ports (if any).CampaignsCreating new campaigns, assigning Agents to cam-paigns, configuring the telephony devices andincoming call mapping.E-mail ProxyIf e-mail routing will be used in the contact center.Optional DataOutcome ResultsIf the system is tracking the result of each contactand Reasonhandled, Result and Reason choices for each of thecampaigns will need to be created . . .IncomingSpecial telephone numbers (800, toll free, etc.)Telephoneassigned to a campaign.NumbersText String toUsed for written contact types such as e-mail, faxes,Skill Mappingand regular mail messages to determine required skillsto properly service the contact.

The administration features of the contact center system100allow a user to manage campaigns, agents, telephony devices, e-mail configurations, routing, and generate reports. Access to contact center system administration is provided through a link on a Web page being displayed on any of the agent workstations102or remote agent workstations146, provided that the user of the workstation102or146has administrator privileges. For purposes of this explanation, it will be assumed that the administration features are being accessed from a local agent workstation102. Steps associated with accessing the administration features to set up the criteria of the contact center system100are shown in the flowchart ofFIG. 2.

Specifically, to access the administration features beginning in step1000, a user can open the administration application by typing the URL in the location field in the web browser running on his or her workstation102as indicated in step1010. The workstation102will then display an administration page152as shown inFIG. 3, having the buttons described in Table 2 as follows:

TABLE 2Description of the Administration Web Page ButtonsItemDescriptionAgentAllows system administration to set up and maintain agentaccounts, which includes Agent profile information, Agentskill assignments, and Agent media skill assignments.EmailAllows system administration to configure e-mail mailboxesProxyto be monitored by the e-mail proxy and its related configura-tion items.CampaignAllows system administration to set up campaigns, configurecontact outcome reasons and results, and assign Agents tocampaigns.RoutingAllows system administration to create text/skill mappings,Rulescontact types, media types and skill.TelephonyAllows system administration to configure telephony exten-sions, ACD queues, route points, and IVR ports to be used bysystem through the CTI link . . .ReportsStandard performance reports which can be generated bysystem.Web MsgAllows system administration to set up the configuration forBoardthe Web Bulletin Board.

To login in step1020, the user can click on any buttons of the Administration Main Menu152. A Login interface display154will appear on the display screen of the agent workstation102as shown inFIG. 4. The buttons and entry items on the Login interface154are described in Table 3 as follows:

TABLE 3Login Interface Buttons and Entry ItemsItemDescriptionUsername:Administrator user name (4–20 characters)Password:Administrator password (6–12 characters, displays asterisks)LoginButton to log into system Administration.ResetButton to clear the fields of any data.

The user can perform the following operations to log into the administration features if he or she has system administration privileges:1. Click in the Username: field and type his or her user name.2 Click in or tab to the Password: field and type his or her password. As the user types his or her password, only asterisks (*) will appear in the field.3. Click Login

The interface will then close, and the user is now ready to use all of the administration features to set up the criteria of the contact center system100in step1030as will now be described. For purposes of the following explanation, the logged-in user will be referred to as a system administrator. Also, it is noted that the viewing area on most of the interface windows is limited. Therefore, if a scroll bar appears to the right of a window, there are more entries to view.

An agent's role within a campaign is to accept and complete the basic work unit of the campaign (i.e. the contact interaction). Receiving contacts, developing and delivering appropriate responses, and reporting contact results are all part of an agent's responsibility. In order to manage the contact center, the system administrator will need to configure how contacts are distributed to the agents. Whether or not all of the agents have equal abilities to handle contacts, strategically, the contact center might be better served by limiting the types of contacts that individual agents should receive. The agent administration allows agent administrator to set up the agents in the contact center system100and to assign them system skill sets and media types they are to receive.

From the Administration Main Menu152, the user can click the Agent button to cause an Agent Administration Menu156to be displayed on the display screen of the workstation102as shown inFIG. 5. The buttons of the Agent Administration Menu156are described in Table 4 below:

TABLE 4Agent Administration Menu ButtonsItemDescriptionAgent ProfileTo identify a new Agent by name, create a user nameSetupand password, and grant administrative privileges.Agent SkillTo link defined skills to an Agent.AssignmentAgent MediaTo link defined media types to an Agent.Skill Assignment

A new agent will start with just the personal information. As the agent is trained and assigned to various campaigns, skills, media and telephony, attributes will be linked to the agent. From the Agent Administration Menu156, the user can click the Agent Profile Setup button to cause the Agent Profile Setup Window158to appear as shown inFIG. 6. The buttons and entry items of the Agent Profile Setup Window158are described in Table 5 as follows.

TABLE 5Agent Profile Setup Window Buttons and Entry ItemsItemDescriptionUsername:Agent user name (6 to 12 characters, no spaces)Full Name:Agent name as displayed to the public (254 characterlimit, including spaces)PasswordAgent password (6 to 12 characters, no spaces). Onlyasterisks appear in the this field.NOTE: Can be changed by the Agent after login.VerifyRepeat of password typed in the Password: field to verifyPassword:accuracy. Only asterisks appear in the this field.Max Wrap-UpPeriod of time the Agent is expected to complete theTime (inWrap-Up process on the average (1 to 600 seconds).seconds):Agent's Wrap-Up time display will begin counting downfrom this number of seconds (displayed to the Agent inthe format (H)H:MM:SS).Grant SysCheckbox to allow the Agent all of the system privilegesAdministrationof an Administrator.PrivilegesClearButton to clear any data entered into the Agent Profilefields.OKButton to accept the Agent Profile Setup.

To add an agent, the system administrator can perform the following operations:1. Enter data in Username:, Full Name:, and Password:.2. Repeat the same Password in the Verify Password: field3. Enter a time allotment in seconds the Max Wrap-Up time: field.4. If this Agent is also an Administrator, click the Grant Sys Administration Privileges checkbox.5. Click OK.
The Agent Profile Setup window158will then close, and the system administrator will be returned to the Agent Administration Menu156.

To modify the criteria of an existing agent, the system administrator can perform the following operations:1. Using the down arrow in the Existing Agents: list box, scroll down to the agent the to change2. Once the correct agent is located, click in the field on the right side of the window to change3. Enter the new information4. Click Modify, then click OK

The Agent Profile Setup Window158will then close, and the system administrator will be returned to the Agent Administration Menu156. It is noted, however, that the username cannot be modified. To change the Username name, remove the entire agent record, and then create a new agent record.

To remove an existing agent, the system administrator can then perform the following operations:1. Using the down arrow in the Existing Agents: list box, scroll down to the Agent to be deleted.2. Click Remove, then click OK.
The Agent Profile Setup Window158will close and the agent administrator will be returned to the Agent Administration Menu156.

A campaign will normally require an agent who is trained on the various features of the product or service offered. A word or two can define these skills. For example, a lawn mower company may wish to promote a new weed trimmer as well as its regular line of products. Skills for this campaign would include knowledge of ‘weed trimmer’, ‘mower’ and possibly ‘riding mower’.

To add new skills requirements for the agents, the system administrator can click the Agent Skills Assignment button on the Agent Administration Menu156to cause the Agent Skills Assignment Window160to be displayed as shown inFIG. 7. The buttons and entry items of the Agent Skills Assignment Window160are described in Table 6 below.

TABLE 6Agent Skill Assignment Window Buttons and Entry ItemsItemDescriptionSystem Skills:All the currently defined skills in all the activecampaigns.System Agent:A pull-down list of all the active Agents.has theThe skills currently linked to the selected Agent.following skillsAddButton to add any selected System Skills to the Agent'slist.Add AllButton to add all System Skills to the Agent's list.RemoveButton to remove selected skills from the Agent's list.Remove AllButton to remove all skills from the Agent's list.OKButton to accept the Agent Skill Assignment

To add a skill to an agent's profile, the system administrator can perform the following operations:1. Select an agent by using the down arrow on the Agent: drop-down list box. If the agent already has linked skills, these will appear in the has the following skills: list box.2. On the System Skills: list box, select the skill to add. If a vertical scroll bar appears to the right of the list box, there are more skills to view.3. Click Add, then click OK.

The Agent Skill Assignment window will close and the system administrator will be returned to the Agent Administration Menu156. The agent administrator can verify the skills linked to an agent by opening up the Agent's profile from the Agent Administration Menu156. It is also noted that the Add All button of the Agent Skills Assignment Window160will add the entire list of system skills. Hence, when creating a new Agent with multiple skills, it might be easier to add the entire list, then remove those that do not apply.

To remove a skill from an agent's profile, the system administrator can perform the following operations:1. Select an Agent by using the down arrow on the Agent: drop-down list box.2. Once an Agent has been specified, select the skill under the has the following skills: list box.3. Click Remove, then click OK
The Agent Skill Assignment window will close and the system administrator will be returned to the Agent Administration Menu156. The agent administrator can verify the skills linked to an agent by opening up the agent's profile from the Agent Administration Menu156. It is also noted that the Remove All button of the Agent Skills Assignment Window160will delete all the skills linked to the selected Agent.

It is noted that campaigns have differing media type requirements, and not all agents will use all of the types. To modify the media type requirements for an agent, the system administrator can click the Agent Media Type Assignment button of the Agent Administration Menu156to cause the Agent Media Skills Assignment Window162as shown inFIG. 8to appear. A description of the buttons and entry items of the Agent Media Skills Assignment Window162is set forth in Table 7 as follows:

TABLE 7Agent Media Skill Assignment Window Buttons and Entry ItemsItemDescriptionSystem MediaA listing of all Media Types currently in use by theTypes:system.system Agent:A pull-down list of all active Agents.has Media Types:Media Types currently assigned to the Agent.AddButton to add any selected System Media Types to theAgent's list.Add AllButton to add all System Media Types to the Agent'slist.RemoveButton to remove any selected Media Types from theAgent's list.Remove AllButton to remove all Media Types from the Agent'slist.OKButton to accept the Agent Media Skill Assignment.

To add a media type to an agent's profile, the system administrator can perform the following operations:1. Select an Agent by using the down arrow on the Agent: drop-down list box. If the Agent already has linked media types, these will appear in the has Media Types: list box.2. In the System Media Types: list box, select the media type to add. If a vertical scroll bar appears to the right of the list box, there are more media types to view.3. Click Add, then click OK.

The Agent Media Skill Assignment Window162will close and the system administrator will be returned to the Agent Administration Menu156. The system administrator can verify the media types linked to an agent by opening up the agent's profile from the Agent Administration Menu156. It is noted that the Add All button of the Agent Media Skill Assignment Window162will add the entire list of media types. When creating a new Agent with multiple media types, it might be easier to add the entire list, then remove those that do not apply.

To remove a media type from an agent's profile, the agent administrator can perform the following operations:1. Select an Agent by using the down arrow on the Agent: drop-down list box.2. Once an agent is specified, select the media type under the has Media Types: list box.3. Click Remove, then click OK.
The Agent Media Skill Assignment Window162will close and the system administrator will be returned to the Agent Administration Menu156. It is noted that the Remove All button on the Agent Media Skill Assignment Window162will delete all the media types linked to the selected Agent.

As discussed above, contacts form the basic element of a campaign. Contacts will come from telephone calls, e-mails, web site “hits”, facsimile devices and other forms of contact. The following describes how to configure the mailboxes which will receive the incoming e-mails and the proxies which will link the e-mail messages to the system.

From the Administration Menu152(FIG. 3), the system administrator clicks the Email Proxy button to cause the Email Proxy Maintenance Menu164as shown inFIG. 9to be displayed. The buttons of the Email Proxy Maintenance Menu164are described in Table 8 as follows:

Just as there are a variety of different phone companies, there are a number of different e-mail software packages. The E-mail Server132(SeeFIG. 1) is used to translate the various messages into a format that the system100can handle. From the E-mail Proxy Administration Menu164, the system administrator can click the E-mail Proxy Configuration button to cause the Email Proxy Configuration Window166as shown inFIG. 10to be displayed. The buttons and entry items of the Email Proxy Configuration Window166are described in Table 9 below.

TABLE 9Email Proxy Configuration Buttons and Entry ItemsItemDescriptionAttachmentFile path where the incoming e-mail messageData Storeattachment files are storedFormat: 254 charactersAttachmentURL address of the base attachment file path specifiedData BaseaboveURL:Format: 254 characters in http://formatAttachmentFile path of the directory where the individual mimeIcon File Pathicon image files are stored.Format: 254 characters, <filename>.gifAttachmentURL address of the mime icon image .gif filesIcon BaseFormat: 254 characters in http://formatURL:Default Attach-Specifies the name of the default mime icon that will bement Iconused when an e-mail attachment is received for whichName:no attachment icon exists.Format: 254 characters, <filename>.gifPoll FrequencyHow frequently the e-mail proxy will poll for incoming(in Seconds):mailFormat: Positive number, 01 to 9,999,999,999ApplyButton to apply any changes made to the E-mail ProxyConfiguration without closing the window.OKButton to accept the E-mail Proxy Configurationincluding any changes (window closes).CancelButton to close the window and cancel any changes thathave not yet been applied to the database using Apply.
Unless the files are moved to a new location, or a new software format is created and a new “.gif” file needs to be added to the E-mail Server132, this information most likely will remain the same.

To modify an e-mail proxy configuration, the system administrator can perform the following operations.1. Click in the field, and type in the new information.2. Click Apply, then click OK
The E-mail Proxy Configuration Window166will close and the system administrator will be returned to the e-mail Proxy Administration Menu164. However, if the system administrator has made a mistake, he or she can click Cancel, which causes the E-mail Proxy Configuration Window166to close and the original data to be restored.

The “mailbox” discussed above actually represents all the mailboxes of all the currently active campaigns. Contacts will send messages and inquiries about a particular product or service. This message is received here, then forwarded to the routing queue via the E-mail Proxy as described in more detail below.

When the system administrator clicks the Mailbox Setup & Maintenance button of the Email Proxy Menu164, the Mailbox Setup and Maintenance Window168shown inFIG. 10will appear. The buttons and entry items of the Mailbox Setup & Maintenance Window168are described in Table 10 below.

TABLE 10Mailbox Setup & Maintenance Window Buttons and Entry ItemsItemDescriptionExistingList of mailboxes currently in the system.Mailboxes:AddButton to add a new mailbox as specified in the MailboxProfile fields.ModifyButton to load the Mailbox Profile with the currentinformation on any selected existing mailbox where itcan then be modified.RemoveButton to remove any selected existing mailbox from thesystem.Mailbox Name:Name of the e-mail's mailbox. Some campaigns mayhave more than one mailbox, but a mailbox can only beassigned to one campaign.Format: Alpha CharactersNo spaces between wordsMaximum length of 31 characters, cannot contain thecharacter “,”Domain Name:Internet domain of mailboxFormat: <name>.com or <name>.net, etc.MailboxPassword specific for this mailboxPassword:Format: Maximum of 31 Alpha CharactersPOP3 IPIP address of the incoming mail server Post OfficeAddress:Protocol 3Format: Numeric 1–254 in .###.###.###.### formatSMTP IPSimple Mail Transfer Protocol. The outgoing mail serverAddress:address.Format: Numeric 1–254 in .###.###.###.### formatCampaign:Name of the campaign to which a message received willbe routedResponse Tem-URL address of the template file to be used to build theplate URL:dynamic automated response to the originator.Format: 254 characters in http://formatClearButton to clear all Mailbox Profile fields.OKButton to accept the Mailbox Setup including anychanges.

To add a new mailbox, the system administrator performs the following operations:1. Click in the Mailbox Name field2. Enter the name of the new mailbox.3. Using the down arrows, scroll to the Domain where the mailbox will reside, or type in the Domain name4. Enter the password of this mailbox5. Enter the POP3 and SMTP IP addresses of a mailbox.6. Using the down arrow, select the correct campaign7. Using the down arrow, select to the response template.8. Click Add, then click OK.
The Mailbox Setup & Maintenance Window168will close, and the system administrator will be returned to the E-mail Proxy Maintenance Menu166.

To modify and existing mailbox, the system administrator performs the following operations:1. Select a mailbox from the Existing Mailboxes: list box, then enter the new information.2. Click Modify, then click OK.
The Mailbox Setup & Maintenance Window168will close, and the system administrator will be returned to the E-mail Proxy Maintenance Menu166.

To remove an existing mailbox, the system administrator performs the following operations:1. Select the name of the Mailbox in the Existing Mailboxes: list box,2. Click Remove, then click OK.
The Mailbox Setup & Maintenance Window168will close, and the system administrator will be returned to the E-mail Proxy Maintenance Menu166.

The campaign aspects of the system100will now be described. A campaign is defined as a focused set of resources targeted towards achieving a specific goal according to a pre-established plan. Campaigns are not restricted to outbound telemarketing activities. Within the contact center system100, campaigns are the universal elements upon which the work of the contact center system100can be organized.

Campaigns can be either outbound or inbound, and are not necessarily dependent upon selling a product or requesting a response from a specific group. There are customer service campaigns where the campaign is created for anyone calling in with a question. There can be a technical support campaign where problems are reported. Basically, any organized structure created to accept, distribute, and monitor work coming into an organization using any media type is considered a campaign.

To access the campaign functions, the system administrator can click the Campaign button of the Administration Menu152(seeFIG. 3), which will cause his or her workstation102to display the Campaign Administration Menu170shown inFIG. 12. The buttons of the Campaign Administration Menu170are described in Table 11 as follows:

TABLE 11Campaign Administration Window ButtonsItemDescriptionCampaign SetupTo add, modify, or remove a campaignContact StatusTo define contact outcome, reason and resultsTableMaintenanceAgent AssignmentTo link Agents to a campaignto CampaignsTelephony DevicesTo link incoming telephone switches to aMappingparticular campaignMap Telephone LineTo link incoming telephone contacts to theto Campaignprimary and possibly secondary (backup) switchtypes

When the system administrator wishes to add, modify, or remove a campaign, he or she can click the Campaign Set-up button on the Campaign Administration Menu170, which causes his or her workstation102to display the Campaign Setup Window172as shown inFIG. 13. The buttons and entry items of the Campaign Setup Window172are described in Table 12 below.

TABLE 12Campaign Setup Window Buttons and Entry ItemsItemDescriptionExistingCampaigns:AddButton to add a new campaign as specified in the Cam-paign: field.ModifyButton to load the Campaign: field with any selected exist-ing campaign, along with its Re-Route Number (if any) anddefault where the current information can be modified.RemoveButton to remove any selected existing campaign from thesystem.Campaign:Name of previously defined campaignFormat: Up to 50 charactersRerouteIf an Agent transfers a voice contact or returns it to theNumber:queue, this device will hold the contact until the rerouting iscomplete.Set asCheckbox to replace the Current Default Campaign with theDefault:one identified in the Campaign: field upon clicking OK.NOTE: Only one campaign can be designated as theDefault Campaign.ClearButton to clear the contents of the Campaign: and RerouteNumber: fields and Set as Default checkbox.OKButton to accept the Campaign Setup including anychanges.

To add a new campaign, the system administrator performs the following operations:1. Click in the Campaign field and type the name of the new campaign.2. If this campaign is using incoming telephone contacts, click in the Re-Routed Device Number and enter the number of the device that will hold the telephone contacts during re-routing.3. If this campaign is the default campaign, click the Set as Default box. The system100requires one campaign be designated the ‘Default Campaign’. If this is the first campaign created, it must to the default campaign.4. Click Add, then click OK
The Campaign Setup Window172will then close, and the system administrator will be returned to the Campaign Administration Menu170.

To modify a campaign, the system administrator performs the following operations on the Campaign Setup Menu172:1. Select a campaign in the Existing Campaigns list box (use the scroll bar if necessary)2. Click Modify. The Re-Routed Number and Set Default fields are now available for modification3. Click in the Re-Routed Number field and enter the new data4. If this campaign is to be designated as the default, click the Set as Default checkbox.5. Click OK

The Campaign Setup Window172will then close, and the system administrator will be returned to the Campaign Administration Menu170. Also, it is noted that only the time out figure can be changed. To change a name of a campaign, the system administrator will have to remove the old name and create a new one. To deselect the default designation, the system administrator will have to designate another campaign as the default campaign. The system100will then automatically remove the default designation from this campaign.

To remove an existing campaign, the system administrator performs the following operations on the Campaign Setup Window:1. Click in the Existing Campaign list box and select the name of the campaign to delete.2. Click Remove, then click OK

The Campaign Setup Window172will close, and the system administrator will be returned to the Campaign Administration Menu170. It is noted that a campaign designated as the default campaign cannot be removed until another campaign is designated as the default campaign. A campaign, which still has active contacts in the queue described in more detail below cannot be removed until those contacts are closed out.

As described in more detail below, once the Agent has completed the interaction with the contact, he/she needs to report the outcome of the contact. The results and the reasons for the result can be quite varied. Table 13 shows some typical outcome options.

To modify the contact status maintenance, the system administrator clicks on the Contact Status Table Maintenance button of the Campaign Administration Menu170to display Contact Status Table Maintenance Menu174as shown inFIG. 14. The buttons and entry items of the Contact Status Table Maintenance Menu174are described in Table 14 below.

TABLE 14Contact Status Table Maintenance Window Buttons and EntryItemsItemDescriptionOutcomesContactOption button to indicate that the contact was successfullycompleted. For inbound Media Types the outcome isalways Contact.No ContactOption button to indicate that the contact was not successfuldue to issues other than connectivity (line busy, no answer,answering machine, etc.).No ConnectOption button to indicate that the contact was not successfuldue to connectivity issues (wrong number, line out of order,disconnection, etc.)Re-RoutedOption button to indicate that the contact was establishedthen rerouted.ResultsCampaign:Drop-down list box of existing campaigns.New Result:Text field for entering the name of a new result of a speci-fied outcome of a specified campaign (31 character limit).ExistingList box of existing results of a specified outcome of aResults:specified campaign.AddButton to add a new result to the Existing Results list of aspecified outcome of a specified campaign.RemoveButton to remove a selected result from the Existing Resultslist of a specified outcome of a specified campaign.ReasonsCampaign:Drop-down list box of existing campaigns.Result:Drop-down list box of existing results of a specified out-come of a specified campaign.New Reason:Text field for entering a new reason of a specified result ofa specified outcome of a specified campaign (31 characterlimit).ExistingList box of existing reasons of a specified result of a spec-Reasons:ified outcome of a specified campaign.AddButton to add a new reason to the Existing Reasons list ofa specified result of a specified outcome of a specifiedcampaign.RemoveButton to remove a selected reason from the ExistingReasons list of a specified result of a specified outcome ofa specified campaign.OKButton to accept the Contact Status Table including anychanges.

It is noted that the left side of the Contact Status Table Maintenance Window174has two separate sections divided by a line in the center, namely, the Campaign/New Result section and the Campaign/Result/New Reason section. When the system administrator selects a campaign in the Campaign/New Result section, nothing will appear in the lower section. Conversely, when the system administrator selects a campaign in the Campaign/Result/New Reason section, nothing will appear in the upper section.

To add a new result in the upper section of the Contact Status Table Maintenance Window174, the system administrator performs the following operations:1. Using the down scroll arrow in the Campaign: list box on the left side of the window, select a campaign.2. Click in the New Result field and enter the new text. A space can exist between words.3. Click Add.4. To add another result, click in the New Result field and enter the new text.5. When finished, click OK.
The Contact Status Table Maintenance Window174will close, and the system administrator will be returned to the Campaign Administration Menu170.

To remove an existing result, the system administrator performs the following operations on the Contact Status Table Maintenance Window174:1. Using the down scroll arrow in the Campaign: drop-down list box on the left side of the window, select a campaign.2. Click in the Existing Results: list box on the right side of the window and select the result to delete.3. Click Remove.4. Remove more by repeating these steps.5. When finished, click OK.
The Contact Status Table Maintenance Window174will close, and the system administrator will be returned to the Campaign Administration Menu170.

To add a new reason in the lower section, the system administrator performs the following operations on the Contact Status Table Maintenance Window174:1. Using the down scroll arrow in the Campaign: drop-down list box on the left side of the window, select a campaign.2. Then click in the Result: drop-down list box, use the down scroll arrow and select a result.3. Click in the New Reason: list box and enter the new text. A space can exist between words.4. Click Add.5. Add another New Reason by repeating these steps.6. When finished, click OK.
The Contact Status Table Maintenance window174will close and the system administrator will be returned to the Campaign Administration Menu170.

To remove an existing reason, the system administrator performs the following operations on the Contact Status Table Maintenance Window174:1. Using the down scroll arrow in the Campaign: drop-down list box on the left side of the window, select a campaign.2. Then click in the Result: drop-down list box, use the down scroll arrow and select a result.3. Click in the Existing Reason list box on the right side of the window and select the result to delete.4. Click Remove, then click OK.
The Contact Status Table Maintenance Window174will close and the system administrator will be returned to the Campaign Administration Menu170.

An agent can be assigned to more than one campaign. To assign an agent to a campaign, the system administrator clicks the Agent Assignment button from the Campaign Administration Menu170to cause his or her workstation104to display the Agent Assignment to Campaign Window176as shown inFIG. 15, the buttons and entry items of which are described in Table 15 below.

TABLE 15Agent Assignment to Campaign Window Buttons and Entry ItemsItemDescriptionSystemList box of existing campaigns.Campaign:system Agent:Drop-down list box of Agents currently in the system.Assigned to:List box of campaigns assigned to a specified Agent.AddButton to add a selected system campaign to a specifiedAgent's list of campaign assignments.Add AllButton to add all system campaign to a specified Agent'slist of campaign assignments.RemoveButton to remove a selected campaign from a specifiedAgent's list of campaign assignments.Remove AllButton to remove all campaigns from a specified Agent'slist of campaign assignments.OKButton to accept the current Agent Assignment toCampaign including any changes.

To add a campaign to an agent's profile, the system administrator performs the following operations:1. Select an agent by using the down arrow on the Agent: drop-down list box If the Agent already has campaigns linked, these will appear in the Assigned to: list box.2. On the System Campaign: list box, select the campaign to add. If a vertical scroll bar appears to the right of the list box, there are more campaigns to view.3. Click Add, then click OK.
The Agent Assignment to Campaign Window will close and the system administrator will be returned to the Campaign Administration Menu170. It is noted that Add All will add the entire list of campaigns. Also, when assigning a new agent to multiple campaigns, it might be easier to add the entire list, then remove those that do not apply.

To remove a campaign from an agent's profile, the system administrator performs the following operations:1. Select an Agent by using the down arrow on the system Agent: drop-down list box.2. Once an Agent has been specified, select the campaign in the Assigned to: list box.3. Click Remove, then click OK.

The Agent Assignment to Campaign Window176will close and the system administrator will be returned to the Campaign Administration Menu170. The system administrator can verify the media types linked to an agent by opening up the agent's profile from the Agent Administration Menu156(seeFIG. 5). It is also noted that Remove All will delete all the media types linked to the selected agent.

As will now be described, a contact type and the physical telephony device (with its associated extension) can be linked with a campaign. To do this, the system administrator clicks the Telephony Device Mapping button of the Campaign Administration Menu170, which causes the Telephony Device Mapping Window178shown inFIG. 16to be displayed on the display of his or her workstation102. The buttons and entry items of the Telephony Device Mapping Window178are described in Table 16 below.

TABLE 16Telephony Device Mapping Window Buttons and Entry ItemsItemDescriptionExistingOption list box of existing telephony devices.TelephonyDevices:Option No.Option number button (not labeled). Click this button(no label)to select from the list of existing telephony devices.TypeRPT-Routing PointQUE-ACD (Queue)NumberPhysical telephony device within the switch(31 digit maximum).CampaignCurrent campaign.Type:Text box for changing telephony device type. Currentinformation automatically entered in field upon selection ofan existing telephony device.Number:Text box for changing telephony device number. Currentinformation automatically entered in field upon selection ofan existing telephony device.Campaign:Drop-down list box of existing campaigns. Current inform-ation automatically entered in field upon selection of anexisting telephony device.ModifyButton to accept changes made in the Type:, Number:, andCampaign: fields of a selected telephony device.OKButton to close the Telephony Device Mapping window.

To map a campaign to a telephony device, the system administrator performs the following operations:1. Select on the Existing Telephony Devices: list box on the left side of the window and select the type and number to link.2. Click in the Campaign: drop-down list box on the right side of the window.3. Using the down arrow, scroll to or type in the name a campaign to be mapped to the telephone type and number.4. Click Modify, then click OK
The Telephony Device Mapping Window will close and the system administrator will be returned to the Campaign Administration Menu170

A telephone number (Dialed Number Identification Service or DNIS) can also be linked to a particular campaign. Campaigns can have multiple DNIS's. However, each DNIS can only be linked to one campaign. To perform this linking, the system administrator clicks the Map Telephone Lines to Campaign button on the Campaign Administration Menu170to cause the Map Telephone Line to Campaign Window180to be displayed. The buttons and entry items of the Map Telephone Line to Campaign Window180are described in Table 17 below.

TABLE 17Map Telephone Line to Campaign Window Buttons and Entry ItemsItemDescriptionExisting DNIS:Option list box of existing DNIS.Option No.Option number button (not labeled). Click this button(no label)to select from the list of listing DNIS.DNISDialed Number Identification Service identifies thetelephone number a caller dials to reach Agents assignedto its specified campaign.CampaignCampaign associated with the specified DNIS.DNIS MappingDNIS:Text box for adding or modifying a DNIS number to beassociated with a specified campaign (numeric field, nospaces). Current information automatically entered infield upon selection of an existing DNIS.Campaign:Drop-down list box of existing campaigns. Current infor-mation automatically entered in field upon selection ofan existing DMS.AddButton to add a new DMS Mapping entry to the ExistingDNIS list.ModifyButton to accept changes made to a selected existingDNIS.RemoveButton to remove a selected DNIS from the ExistingDNIS list.ClearButton to clear data entered in the DNIS Mapping fields.OKButton to close the Map Telephone Line to Campaignwindow.

To map a telephone line to a campaign, the system administrator performs the following operations:1. Click in the DNIS: text box in the DNIS Mapping section of the window and enter the complete incoming telephone number (no spaces between digits).2. Using the down arrow to open the Campaign: drop-down list box, select the campaign.3. Click Add, then click OK.
The Map Telephone Line to Campaign Window180will close and the system administrator will be returned to the Campaign Administration menu.

To modify a telephone line, the system administrator performs the following operations, with only the campaign field changing.1. Click in the Existing DNIS: list box on the left side of the window. The information will appear on the two fields on the right side in the DNIS Mapping section.2. Click the down arrow to open the Campaign: drop-down list box on the right side of the window and select a different campaign name.3. Click Modify, then click OK.
The Map Telephone Lines to Campaign Window180will close and the system administrator will be returned to the Campaign Administration Menu170.

To remove a telephone line, the system administrator performs the following operations:1. Select a telephone line from the Existing DNIS: list box on the left side of the window. The information will appear on the two fields on the right side in the DNIS Mapping section.2. Click Remove, then click OK.
The Map Telephone Lines to Campaign Window180will close and the system administrator will be returned to the Telephony Administration Menu170.

As will now be described, links can between incoming telephone lines and campaigns, define agent position extensions, and map Interactive Voice Response ports. To perform these operations, the system administrator clicks the Telephony Maintenance button on the Administration Menu152to cause the Telephony Maintenance Menu182shown inFIG. 18to be displayed, the buttons of which are described in Table 18 below.

TABLE 18Telephony Maintenance Window ButtonsItemDescriptionTelephone/ACDTo link DNIS contacts to a particular campaignSetupDefine TelephoneTo configure telephony contracts to the primary andExtensionpossibly backup switch typesMap IVR Port toTo link incoming telephone extensions to a particularACD ExtensionIVR port or channel.

This Window182configures how the telephony contacts are routed through either the Automatic Call Distributor (ACD) or a Routing point, the switch information, and which recording will play while the contact is waiting. From the Telephony Maintenance menu, the system administrator clicks the Telephony/ACD Setup button to cause the Telephony/ACD Setup Window184shown inFIG. 19to be displayed, the buttons and entry items of which are described in Table 19 below.

TABLE 19Telephony/ACD Setup Buttons and Entry ItemsItemDescriptionExistingList box of existing telephony devices.TelephonyDevices:ACD QueueOption button indicating that a specified telephony device isto be associated with the ACD (Automatic Call Distribu-tor); the physical ACD queue within the telephony switch.RoutingOption button indicating that the specified telephony devicePointis to be associated with a software device within thephysical telephony switch.Number:Telephony device number to be associated with either anACD queue or the Routing Point (31 digit maximum).Route byCheckbox indicating that incoming calls to the specifiedDNIS:telephony device are to be linked to a specific campaignassociated with its DNIS.RerouteCheckbox indicating that incoming calls to the specifiedDevicetelephony device are to be placed on hold while the systemupdates the contact information.Holds a rerouted contact and updates the contactinformation.Switch InfoSwitchDrop-down list box of available switch types that can beType:assigned to a specified telephony device (31 charactermaximum)Switch ID:Drop-down list box of available switch links to the DialogicCT Connect configuration that can be assigned to a speci-fied telephony device (31 character maximum).CTIDrop-down list box of available IPs (numeric InternetServer:Protocol addresses) where Dialogic CT-Connect switchesreside that can be assigned to a specified telephony device(Format: 255.255.255.255).Initial CallDrop-down list box of available call treatments that can beTreatment:assigned to a specified telephony device (31 charactermaximum). This applies only to calls that enter through therouting point and identifies what the caller will hear whileon hold (ringing, message, music, etc.).SetButton to open a separate window for configuring a back-upSecondaryor redundant Dialogic CT-Connect server.CTIAddAdd device to monitored device list.ModifyModify current device parameters.RemoveRemove current device from monitored device list.ClearClear all fields on device form.OKClose this window.

To add a new telephony device, the system administrator performs the following operations:1. Starting at the top of the right side of the window, click either the ACD or Routing Point option button.2. In the Number field, enter the device number.3. If this contact is to be routed by DNIS, click the “Route by DNIS” checkbox.ORIf contacts will be re-routed calls, click the Re-Route Device checkbox.4. Using the down arrows, choose the switch type and ID in the next two drop-down list boxes (or type in the information directly).5. Using the down arrow, choose the CT-Connect Server (or type in the information directly).6. For initial contacts, select the type of “on hold” message or music the contact will hear. This varies from switch to switch, so be sure that the switch you have selected supports the contact treatment selected.7. If Set Secondary CTI button is clicked, a separate window will open to specify a back-up switch and CTI server for the telephony device currently selected.8. After the system administrator has completed entering, (or have completed the Secondary CTI entry), click Add, then click OK.
The Telephone/ACD Setup Window184will close and the system administrator will be returned to the Telephony Maintenance Menu182.

To modify an existing telephony device, the system administrator performs the following operations:1. From the Existing Telephony Devices: list box on the left side of the window, select the device you wish to modify2. Click in the appropriate field on the right side of the window and enter the new information.3. Click Modify, then click OK.
The Telephone/ACD Setup Window184will then close and the system administrator will be returned to the Telephony Maintenance Menu182. It is noted, however, that the device number cannot be modified.

To remove an existing telephony device, the system administrator performs the following operations:1. From the Existing Telephony Devices: list box on the left side of the window, select the device to delete.2. Click Remove, then click OK.
The Telephone/ACD Setup Window184will close and the system administrator will be returned to the Telephony Maintenance Menu182.

As will now be described, the secondary CTI is a redundant, or back-up CT-Connect server. If the primary system is down, CTI functionality will be performed via this redundant CT-Connect server. The system administrator can click the Set Secondary CTI button on the Telephone/ACD Setup Window184to display the Secondary CTI Window186shown inFIG. 20and having the button and entry items described in Table 20 below.

TABLE 20Secondary CTI Buttons and Entry ItemsItemDescription<ACD/RPT>:<Num-ACD or Routing Point number of the selectedber>telephony device.Secondary SwitchDrop-down list box of available switch links toID:the Dialogic CT-Connect configuration that canbe assigned to back-up a specified telephonydevice (31 character maximum).Secondary CTIDrop-down list box of available IPs (numericServer:Internet Protocol addresses) where Dialogic CT-Connect switches reside that can be assigned toback-up a specified telephony device(Format: 255.255.255.255).OKButton to accept the Secondary CTI configura-tion.CancelButton to close the Secondary CTI configurationwindow without changes.

To add a new secondary CTI link, the system administrator performs the following operations:1. From the Telephone/ACD Setup window select a particular switch device number from the Existing Telephony Devices: list box on the left side of the window.2. Click the Set Secondary CTI button.3. A separate Secondary CTI window will open displaying the ACD or Routing Point number of the selected telephony device.4. Click in the Secondary Switch ID field and enter the new information.5. Click in the Secondary CTI Server and enter the new information.6. Click OK.
The Secondary CTI Window186will then close and the system administrator will be returned to the Telephony Maintenance Menu182.

To modify a secondary CTI link, the system administrator performs the following operations:1. From the Telephone/ACD Setup window select a particular switch number from the Existing Telephony Devices: list box on the left side of the window.2. Click the Set Secondary CTI button3. A Secondary CTI window will open to allow to specify a back-up switch and CTI server for the telephony device the system administrator currently has selected. If a backup already exists for the selected device, the switch and server information will appear in the appropriate fields.4. To change to an existing switch ID and/or CTI server address, use the down arrow to scroll to the new switch or server5. To enter a new switch or server, click in the appropriate field and type in the new information6. Click OK
The Secondary CTI Window186will close and the system administrator will be returned to the Telephony Maintenance Menu182.

To remove a secondary CTI link, the system administrator performs the following operations:1. From the Telephony/ACD Setup Window186select a particular telephony device from the Existing Telephony Devices: list box on the left side of the window.2. Click the Secondary CTI button3. A separate Secondary CTI window will open to allow to specify a back-up switch and CTI server for the telephony device currently have selected. If a backup already exists for the selected device, the switch and server information will appear in the appropriate fields.4. To remove an existing switch and server link, click in the Secondary Switch ID: drop-down list box and delete the information. Repeat the deletion in the Secondary CTI Server: drop-down list box.5. Click OK
The Secondary CTI Window186will close and the system administrator will be returned to the Telephony Maintenance Menu182.

The system administrator can define the range of incoming extensions assigned to a particular switch. To do this from the Telephony Administration Menu182, the system administrator clicks the Telephony Extension Configuration button to display the Define Telephony Extension Window188, the buttons and entry items of which are described in Table 21 below.

TABLE 21Define Telephony Extension Window Buttons and Entry ItemsItemDescriptionExistingList box of existing telephone extensions (individual orTelephonyranges of extensions).Extensions:FromInitial (and inclusive) telephone extension in a range (3Extension:digits)ToLast (and inclusive) telephone extension in a range (3extension:digits).Switch InfoSwitchDrop-down list box of available switch types that can beType:assigned to a specified telephony device (31 charactermaximum)Switch ID:Drop-down list box of available switch links to the DialogicCT Connect configuration that can be assigned to a speci-fied telephone extension or range of extensions (31 char-acter maximum).CTIDrop-down list box of available IPs (numeric InternetServer:Protocol addresses) where Dialogic CT-Connect switchesreside that can be assigned to a specified telephone exten-sion or range of extensions (Format: 255.255.255.255).SetButton to open a separate window for configuring a back-upSecondaryor redundant Dialogic CT-Connect server.CTIAddAdd this range of extensions to the monitored device list.ModifyModify the parameters for the current range of extensions.RemoveRemove the current range of extensions.ClearClear the extension range form.OKClose this window.

The Range can be as small as one extension, such as from 401 to 401. However, extension ranges must not overlap anywhere on the Existing Telephony Extensions: list box on the left side of this window.

To add a new telephone extension range, the system administrator performs the following operations:1. Click in From Extension field and enter the first telephony port number2. Click in To Extension field and enter the last telephony port number3. Using the down arrow, select the switch type and ID in the next two list boxes4. Using the down arrow, select the CT-Connect Service5. If Set Secondary CTI button is clicked, a separate window will open to allow to specify a back-up switch and CTI server for the telephony device currently selected.6. After completed entering, (or have completed the Secondary CTI entry), Click Add, then click OK
The Define Telephone Extension Window188will close and the system administrator will be returned to the Telephony Maintenance Menu182.

To modify and existing telephone extension range, the system administrator performs the following operations:1. From the Existing Telephony Extensions: list box on the left side of the window, select the range to modify2. Click in the appropriate field on the right side of the window and enter the new information.3. Click Modify, then click OK.
The Define Telephone Extension Window188will close and the system administrator will be returned to the Telephony Maintenance Menu182.

To remove an existing telephone extension range, the system administrator performs the following operations:1. From the Existing Telephony Extensions: list box on the left side of the window, select the range to delete.2. Click Remove, then click OK.
The Define Telephone Extension Window188will close and the system administrator will be returned to the Telephony Maintenance Menu182.

As will now be described, the Map IVR Ports to ACD Extensions window maps an incoming telephone extension to an individual IVR port or channel. It is noted that the Master (or Controller) is the processor that controls one or more IVR devices. If the configuration only has one Master, a separate identifying number is not needed. In these cases, simply enter zero.

To perform these operations from the Telephony Maintenance Menu, the system administrator clicks the Map IVR Port to ACD Extension button to display the Map IVR Port to ACD Extension Window190shown inFIG. 22, the buttons and entry items of which are described in Table 22 as follows:

TABLE 22Map IVR Port to ACD Extension Buttons and Entry ItemsItemDescriptionExisting IVRs:List box of existing IVR devices.Option No.Option number button (not labeled). Click this button(no label)to select from the list of existing IVRs.MasterF.C.T.C.F.E.T.E.Master:Identifies the controller of one or more IVR devices. Ifthere's only one master, the value is zeroFrom ChannelInitial (and inclusive) IVR port of the range(F.C.):Format: 0–9999To Channel:Final (and inclusive) IVR port of the range(T.C.):Format: 0–9999From ExtensionInitial (and inclusive) extension of the range(F.E.):To ExtensionFinal (and inclusive) extension of the range(T.E.):AddAdd the range of IVR ports to the IVR port map table.ModifyModify the parameters for the current IVR port range.ClearClear the IVR port range form.RemoveRemove the current IVR port range.OKClose this window.

It is noted that the range can be as small as one channel or extension, such as from 401 to 401. However, ranges must not overlap anywhere on the Existing IVRs: list box on the left side of this window. Also, the number of channels selected must equal the number of extensions.

To add a new IVR range, the system administrator performs the following operations:1. Click in the Master field and enter the Master identifier.2. Click in From Channel (F.C.) field and enter the first channel value.3. Click in To Channel (T.C.) field and enter the last channel value.4. Click in From Extension (F.E.) field and enter the first extension number.5. Click in To Channel (T.C.) field and enter the last extension number.6. Click Add, then click OK
The Map IVR Ports to ACD Extensions window190will then close, and the system administrator will be returned to the Telephony Maintenance Menu182. It is noted that the range of the number of channels selected must match the number of extensions.

To modify and existing IVR range, the system administrator performs the following operations:1. From the Existing IVRs: list box on the left side of the window, select the range you wish to modify2. Click in the appropriate field on the right side of the window and enter the new information.3. Click Modify, then click OK.
The Map IVR Ports to ACD Extensions Window190will close and the system administrator will be returned to the Telephony Maintenance menu.

To remove and existing IVR range, the system administrator performs the following operations:1. From the Existing IVRs: list box on the left side of the window, select the range to delete.2. Click Remove, then click OK
The Map IVR Ports to ACD Extensions Window190will close and the system administrator will be returned to the Telephony Maintenance Menu182.

As will now be described, the system administrator can use the Routing Rule Administration windows to define the skills of an agent, prioritize contacts, and define media types and skill requirements for campaigns. To access the Routing Rule windows, the system administrator clicks on the Routing Rule button on the Administration Menu152, to cause the Routing Administration Menu192as shown inFIG. 23to appear, the buttons of which are described in Table 23 below.

TABLE 23Routing Administration Menu ButtonsItemDescriptionMap Text StringsLinks skills to text strings to better route a contactto SkillDefine CustomerRanks the priority level of different contacts and thePriority Levelsfrequency they move up the queue.Define MediaRanks the priority level of different types of mediaPriority LevelsmessagesDefine RoutingDefines contact center system routing skills.Skills

The system administrator can then access the Map Text Strings to Skill Window194as shown inFIG. 24by clicking on the Map Text Strings to Skill button of the Routing Administration Window192. The Map Text Strings to Skill Window194is for e-mail media types, that is, for matching a text string to a particular agent skill. For instance, the text string “mechanical problem” might be matched to the Skill “automobile”. A customer might send an e-mail stating that they had problems with their vehicle's braking system. The string “vehicle braking” in their e-mail would be matched to the Skill “automobile”. The e-mail would then be routed to an Agent working on an automotive repair shop campaign. One Matched Skill can be pointed to many different Text Strings.

The buttons of the Map Text Strings to Skill Window194are described in Table 24 as follows:

TABLE 24Map Text Strings to Skill Window ButtonsItemDescriptionExisting TextList box of existing text strings matched with a skill.Strings:Option No.Option number button (not labeled). Click this button(no label)to select from the list of existing test strings.Text StringString of alphanumeric characters mapped to a specifiedskill.MatchedExisting skill to which a specific string of alphanumericSkillcharacters is associated for contact routing purposes.Text StringMappingText String:Text box to enter an alphanumeric string of characters tomap to a specified skill (254 character maximum).MatchedDrop-down list box of existing skills to which the speci-Skill:fied text string is to be mapped.ClearButton to clear the Text String Mapping fields.AddButton to add a Text String Mapping entry to the list ofexisting text strings.RemoveButton to remove a selected existing text string.OKButton to close the Map Text Strings to Skill window.

To map a text string to a skill, the system administrator performs the following operations:1. Use the down arrow on the Matched Skill: drop-down list box in the Text String Mapping section to select a skill.2. Click in the Text String: field and enter a string (up to 254 alphanumeric characters).3. Click Add. The new string will appear as an item on the left side in the Existing Text Strings: list box.4. Click OK.
The Map Text Strings to Skill Window194will then close, and the system administrator will be returned to the Routing Administration Menu192.

To remove a link between a text string and a skill, the system administrator performs the following operations:1. In the Existing Text Strings: list box, select the Matched Skill/Text String line to remove.2. Click Remove. Both the Skill and the Text String fields will be empty.3. Click OK.
The Map Text Strings to Skill Window194will then close, and the system administrator will then be returned to the Routing Administration Menu192.

As will now be described, a campaign's existing customer database will classify a contact's type based on the size or volume of an account, years as a customer, or other market-driven criteria. Just as the contacts are different, their priority in the queue should be different. For instance, a “Gold” contact might have a higher priority than a “Silver” or a “Regular” contact and should be handled sooner. This ranking can also apply to the different types of contact, such as Voice, IVR, e-mail, Web callback, fax, and so on.

To define the customer priority levels from the Routing Administration Menu192, the system administrator clicks the Define Customer Priority Levels button. This causes the Define Customer Priority Levels Window196as shown inFIG. 25to appear, with the buttons and entry items as described in Table 25 below.

TABLE 25Define Customer Level Priority Levels Window Buttonsand Entry ItemsItemDescriptionExistingList box of existing customer types.CustomerTypes:OptionOption number button (not labeled). Click this button toNo. (noselect from the list of existing customer types.label)CustomerExisting customer type.TypePPriority level associated with the specified customer type.BRBump rate associated with the specified customer type.BIBump interval associated with the specified customer type.CustomerText box to enter a new customer type or to display an exist-Type:ing customer type when selected from the accompanying list(50 character maximum).PrioritySpin box to set the priority level of the specified customer(P):type (Range: 01 to 100). Current information automaticallyentered in field upon selection of an existing customer type.This is the initial priority level upon entering the queue, thehighest being 01.BumpSpin box to set the bump rate of the specified customer typeRate(Range: 01 to 4,294,967,295). Current information(BR):automatically entered in field upon selection of an existingcustomer type.This is the delay in seconds that a contact of the specifiedcustomer type remains in any given position in the queuebefore being moved up in the queue.BumpSpin box to set the bump interval of the specified customerIntervaltype (Range: 00 to 4,294,967,295). Current information(BI):automatically entered in field upon selection of an existingcustomer type.This is the number of levels that a contact of the specifiedcustomer type moves up in the queue each time the assignedbump rate delay has expired.ClearButton to clear all editable fields.AddButton to add a new customer type with its settings to the listof existing customer types.ModifyButton to accept changes to the settings of a selected existingcustomer type.RemoveButton to remove a selected existing customer type.OKButton to close the Define Customer Priority Levels window.

To define a customer type, the system administrator performs the following operations:1. In Customer Type: text box on the right side of the window, enter the word or abbreviation to describe a contact2. Using the spin box arrows, select a pre-existing the Priority, Bump Rate and Bump Interval for this type of contact, or type in a new configuration3. Click Add.
The Define Customer Priority Levels window will then close, and the system administrator will be returned to the Routing Administration Menu192.

To modify a customer type, the system administrator performs the following operations:1. Using the Existing Customer Types: list box, select the Customer Type.2. Select the field(s) you wish to change and enter the correct data3. Click Modify, then click OK.
The Define Customer Priority Levels Window196will then close, and the system administrator will be returned to the Routing Administration Menu192. It is noted, however, that the customer type cannot be modified in this example.

To remove a customer type, the system administrator will perform the following operations:1. Select the Customer Type line on the Existing Media Types: list box on the left side of the window2. Click Remove, then click OK.
The Define Customer Priority Levels Window196will then close and system administrator will be returned to the Routing Administration Menu192.

As described above, contacts reach the campaign contact center through a variety of different paths such as voice, web, e-mails or bulletin board message. As in the Customer Priority Level, some may require a higher priority (voice) than others (e-mail or fax).

Therefore, to define media priority levels from the Routing Administration Menu192, the system administrator clicks the Media Priority Levels button to cause the Define Media Priority Levels Window198as shown inFIG. 26to appear, with the buttons and entry items as described in Table 26 below.

TABLE 26Define Media Priority Levels Window Buttons and Entry ItemsItemDescriptionExisting MediaList box of existing media types and their settings. TheTypes:following media types are supported in the currentrelease of system:VOICEVoice: Inbound telephone call.CALLBACKCall Back: Inbound contact scheduling anautomated outbound telephone call.EMAILE-mail: Inbound e-mail with automatedoutbound e-mail response (‘e-mailreceived’ notice).WEBWeb Call Back: Inbound Web contactinitiating an automated outboundtelephone call.CHATWeb Chat: Inbound Web contact initiatingan automated Web chat.WBBWeb Bulletin Board: Inbound Webbulletin board post.Option No.Option number button (not labeled). Click this button to(no label)select from the list of existing media types.CustomerExisting media type.TypePPriority level associated with the specified media type.IBump rate associated with the specified media type.FBump interval associated with the specified media type.TimeoutTimeout interval associated with the specified mediatype.Media Type:Text box to enter a new media type or to display anexisting media type when selected from theaccompanying list (50 character maximum).Priority (P):Spin box to set the priority level of the specified mediatype (Range: 01 to 100). Current informationautomatically entered in field upon selection of anexisting media type. This is the initial priority levelupon entering the queue, the highest being 01.Increment (I):Spin box to set the increment rate of the specified mediatype (Range: 01 to 4,294,967,295). This is the delay inseconds that a contact of the specified media typeremains in any given position in the queue before beingmoved up in the queue. Current informationautomatically entered in field upon selection of anexisting media type.Frequency (F):Spin box to set the increment frequency of the specifiedmedia type (Range: 01 to 4,294,967,295). This is thenumber of levels that a contact of the specified mediatype moves up in the queue each time the assigned bumprate delay has expired. Current information automaticallyentered in field upon selection of an existing media type.Timeout (inText box to set the timeout interval of the specifiedSeconds):media type (Range: 01 to 4,294,967,295). This is thedelay that a contact of the specified media type remainsat the top of an Agent's queue before being rerouted toanother Agent with ‘next best match’ qualifications.ClearButton to clear all editable fields.ModifyButton to accept changes to the settings of a selectedexisting media type.RemoveButton to remove a selected existing media type.OKButton to close the Define Media Priority Levelswindow.

In the above example and as described in more detail below, an e-mail contact requesting information on a riding mower starts at a priority of 10. After 6 seconds, the contact is bumped up2intervals. Another 6 seconds will bump the contact again. After waiting 2 minutes at the top of the agent's queue, the contact is bounced to another agent qualified to handle this type of contact. If no qualified agent is available, the contact will be routed to the next lower qualified agent.

To define media priority levels, the system administrator performs the following operations:1. Click in the Media Type field2. Enter the alpha text to identify a media type (no spaces between words)3. Using the Up/Down arrows, select a pre-existing the Priority, Bump Rate and Bump Interval for this type of contact, or type in a new configuration4. Click Add, then click OK.
The Define Media Priority Levels Window198will then close, and the system administrator will return to the Routing Administration Menu192.

To modify a media type requirement, the system administrator performs the following operations:1. Using the Existing Media Types on the left side of the window, select the Media Type to change.2. In the right, select the list box to change and enter the correct data.3. Click Modify, then click OK.
The Define Media Priority Levels Window198will then close, and the system administrator will return to the Routing Administration Menu192. It is noted, however, that the media type filed cannot be modified in this example.

To remove a media type, the system administrator performs the following operations:1. Select the Media Type line on the Existing Media Types: list box on the left side of the window.2. Click Remove, then click OK.

The Define Media Priority Levels Window198will then close, and the system administrator will return to the Routing Administration Menu192. It is noted, however, that a media type cannot be removed if an active contact uses this media type.

As described in more detail below, a skill can be any ability that will facilitate the handling of a contact. The system administrator typically works with his or her campaign's coordinator or a representative from the client to create a list of appropriate skills. The initial list can be modified or expanded as experience dictates.

Each campaign will have a variety of required skills. Some are general, such as service or sales ability, others more specific to the requirements of the campaign. To define routing skills from the Routing Administration Menu192, the system administrator clicks the Define Routing Skills button to display the Define Routing Skills Window200as shown inFIG. 27, the buttons and entry items of which are described in Table 27 below.

TABLE 27Define Routing Skills Window Buttons and Entry ItemsItemDescriptionCurrent DefaultExisting skill currently set as the default. Inbound con-Skill: <SKILL>tacts not mapped to a specific skill are automaticallyrouted according to the default skill.Existing systemList box of existing skills.Skill:system Skill:Text box to enter a new skill (50 character maximum) orto display a selected existing skill from the accompany-ing list.Set as DefaultCheckbox to assign the specified skill as the defaultSkill(replacing the previous default skill).ClearButton to clear the contents of all editable fields.AddButton to add a new skill to the list of existing skills.ModifyButton to accept changes to a selected existing skill.RemoveButton to remove a selected existing skill.OKButton to close the Define Routing Skills window.

A campaign will normally require an Agent to be trained on the various features of the product or service offered. A word or two can define these skills. For example, an auto repair campaign skill requirement could be defined as automotive or mechanical while a computer campaign would want a skill in hardware, software, or a particular operating system.

To add a routing skill, the system administrator performs the following operations:1. Click in the system Skill field2. Type in the skill3. If this skill is going to serve as the default skill, click the Set as Default Skill checkbox4. Click Add, then click OK

The Define Routing Skills Window200will then close, and the system administrator will return to the Routing Administration Menu192. It is noted, however, that the system100requires one skill to be designated as the default skill. When setting up the first campaign, the system administrator should designate the first skill as the default skill.

To modify the default skill, the system administrator performs the following operations:1. Click in the Existing system Skills: list box on the left side of the window.2. Select the skill to be designated as the default skill.3. If this skill is going to serve as the default skill, click the Set as Default Skill checkbox.4. Click Modify, then click OK.
The Define Routing Skills Window200will then close, and the system administrator will return to the Routing Administration Menu192. It is noted, however, that to change the default designation, the system administrator will have to designate another skill as the default skill. The system will automatically remove the default designation from this skill.

To remove a routing skill, the system administrator performs the following operations:

1. Click in the Existing system Skills: list box on the left side of the window.2. Select the skill to be deleted.3. Click Remove, then click OK.
The Define Routing Skills Window200will then close, and the system administrator will return to the Routing Administration Menu192. It is noted, however, that to remove the default designation, the system administrator will have to designate another skill as the default skill. The system will automatically remove the default designation from this skill. Also, the system administrator may not remove a skill that is currently assigned to a queued contact.

The call center system100in this example contains a set of nine standard performance reports such as agent productivity and performance along with a user controlled report writer that allows the user to design and develop a complete set of reports to meet even the most detailed reporting requirements. Because the system100combines both the contact reporting statistics with the business results (outcome, result, reason) a supervisor can produce reports that provide insight as to how successful a campaign is at any point in time.

To reach the Report menu, the system administrator can click the Report button on the Administration Menu152, which causes the Reports Window202as shown inFIG. 28to be displayed. The Agent Productivity Detail Reports buttons are described in Table 28 below, and can be used to generate productivity reports204and206as shown, for example, inFIGS. 29 and 30.

TABLE 28Agent Productivity Detail Reports ButtonsItemDescriptionTotal ActivityShows total number of contacts by needed type separatedby tune intervals.Total TimeTotal media activity time divided by media type and timeintervals.TelephoneShows number of telephone contact handled by eachagent and average handling time.EmailShows number of email handled by each agent and aver-age handling time.WebShows number of web contacts handled by each agentand average handling time.

The Agent Productivity Summary Reports Buttons are described in Table 29 below and can be used to Summarize productivity for all agents in a campaign, and to generate reports208and210as shown inFIGS. 31 and 32.

TABLE 29Agent Productivity Summary Reports ButtonsItemDescriptionTotalShows number of contacts for all agents separated by mediaActivitytype.Total TimeShows number of minutes for all agents separated by mediatype.

The Abandoned Call Reports buttons are described in Table 30 below and can be used to provide summary and detail reports212,214and216on abandoned calls as shown inFIGS. 33–35.

TABLE 30Abandoned Call Reports ButtonsItemDescriptionSummaryShows number of contacts by campaign.DetailShows number of contacts for each 15 minute time interval.

The Contact Results Reports buttons are described in Table 31 below and can be used to provide summary and detail reports218,220,222and224and shown inFIGS. 36–39.

TABLE 31Contact Results Reports ButtonsItemDescriptionSummaryShows number of contacts by configured outcome results.DetailShows number of contacts by reason and media type.

As will now be described, an example of XYZ company's Web Bulletin Board for its customers to exchange information and ideas will be used to illustrate this concepts. Messages that remain unanswered for a specified amount of time need to be rerouted to an appropriate Agent for handling. To configure this Bulletin Board, the system administrator clicks the Web Msg Board button on the Administration Menu152(seeFIG. 3) to cause the WBB Administration Menu226as shown inFIG. 40to be displayed.

To access the Web Bulletin Board Proxy Configuration Window228as shown inFIG. 41, the system administrator clicks on the Config WBB Proxy button of the WBB Administration Menu226. The buttons and entry items of the Web Bulletin Board Proxy Configuration Window228is described in Table 32 as follows.

TABLE 32Web Bulletin Board Proxy Configuration Buttons and Item EntriesItemDescriptionWeb BulletinBoard ProxyConfigurationODBC DSN:Text box to specify the Open Database ConnectivityData Source Name, the database identifier (alpha-numeric field, 64 character maximum)Web BB DBText box to specify how often in hours that the data-Pollingbase is to be checked for unanswered bulletin boardFrequencymessages (integers only).(in Hours):Ignore MessagesText box to specify the upper age limit of messages inOlder than:days that system is to scan when polling the bulletinboard (integers only).Messages areText box to specify the amount of time in hours aRouted to Agentbulletin board message is to remain unanswered beforeif not Answeredbeing routed to an Agent (integers only).within:Web BB ISAPIText box to specify the Web Bulleting Board InternetURL:Server Application Program Interface Uniform Re-source Locator, the Internet address of the database(alphanumeric field, full URL only).ApplyButton to accept the WBB proxy configuration (includ-ing any changes) without closing the windowOKButton to accept the WBB proxy configuration (includ-ing any changes) and close the window.CancelButton to close the Config WBB Proxy window with-out accepting further changes, if any.

To add a Web bulletin board proxy, the system administrator clicks in the ODBC DSN field and enter the name of the database and performs the following operations:1. In the Pooling Frequency field, enter the number of hours between pollings.2. In the Ignore Messages Older Than field, enter the maximum number of days the program is to poll. Older messages will no longer be polled.3. In the Messages Are Routed to Agent if Not Answered Within field, enter length of time, in hours, that a message will remain on the Bulletin Board4. In the Web BB ISAPI URL field, enter the Web server address and application name and URL.5. Click Add, then click OK
The Web Bulletin Board Proxy Configuration Window228will then close, and the system administrator will be returned to the Administration Menu252.

After all of the desired configurations for the call center system100have been entered, the processing shown inFIG. 2continues to step1040, during which the system100awaits contact and agent activity as will now be described.

Agent Logon Process

Once the call center system100ofFIG. 1has been configured in the manner described above, the agents will be available to log into their respective workstations102or remote workstations148to handle the various types of contacts as exemplified in detail below. For exemplary purposes, the login process will be described in relation to a local workstation102, although the same process is performed in relation to a remote workstation146.

In order to be ready to log into the call center system100, an agent will need to request and download the necessary applet to his or her workstation102. The operations for performing these initial steps are shown in the flowchart ofFIG. 42.

Specifically, in step1110, the agent starts the web browser on his or her workstation102. For example, the workstation can be running an operating system, such as Windows NT, capable of running a Java enabled web browser application, such as Nescape, which will be controlled by the web browser to display a plurality of icons on the display terminal of the workstation102when the web browser is started. The web browser can be configured to include among the icons a specific icon which, when clicked, causes the web browser to request an HTML page which contains the required applet from, for example, the intranet/extranet server WWW server124(seeFIG. 1).

When agent instructs the web browser to request the appropriate applet by clicking on the appropriate icon, the flow of operations proceeds to step1110, during which the WWW server123downloads the applet over the LAN/WAN120to the agent's workstation102. When the downloading is occurring, the web browser may generate the security alert windows232,234and236as shown in FIGS.43–45. In this event, the agent can enter the appropriate information to allow the web browser to download the applet.

Specifically, as can be appreciated by one skilled in the art, security alerts are generated by the browser at the agent's workstation102whenever external applications, such as Java applets, attempt to access the workstation102without permission. In most cases, an agent workstation102will have been fully configured by the system administrator in advance as described above, to insure that the web browser running on the workstation102automatically accept all requests by the software of the system100to access the workstation102. If this configuration has not been done, the workstation102will display one or two security alert windows, depending on whether the workstation102is using Internet Explorer or Netscape.

In the event that the automatic access permission was not configured in advance at workstation102, upon requesting the applet, the agent will have to grant the required privileges in order to log into the system. If the workstation102is running Netscape, two Java Security windows appear on the workstation102display screen as shown inFIGS. 232 and 234If the agent wants Netscape to automatically grant these privileges in the future for each Java security alert, the agent should check the “remember this decision” checkbox before granting the privilege. The agent then can click the “Grant” button to allow the workstation102to continue loading the applet.

Alternatively, if the workstation102is using Internet Explorer, one Java security window236appears on the display screen as shown inFIG. 45. If the agent wants Internet Explorer to automatically grant these privileges in the future, the agent should check the “Always trust content from Microlog Corporation” checkbox before granting the privilege, and the click the “Yes” button to allow the workstation102to continue loading the applet.

Once the applet has been downloaded, the flow of operations proceeds to step1120where the web browser initializes and starts the applet to cause the workstation102to display the agent toolbar238as shown inFIG. 46and as described in Table 33 below.

TABLE 33Agent Toolbar FeaturesItemDescriptionAgent:(Name)Name of the Agent currently logged into theworkstation.System238-1Button allowing you to log in/log out andInterfacechange your passwordVirtual238-2Button for opening the Virtual Phone and vis-Phoneual indicator of the connection status of atelephone contact.Web238-3Button for opening the Web CollaborationCollaborationInterface that allows you to communicate withInterfacea contact via the Web.Reroute238-4Button for rerouting a contact and for con-Contactsulting with another Agent during a contact.Agent Status238-5Button for transitioning from one stage of aIndicatorcontact into another and visual indicator ofyour current contact status.Session Timer238-6Displays the total time you have been logged into the system.Contact Timer238-7Displays the total time you have been workingwith a contact.Wrap-Up238-8Displays the amount of time remaining forTimerWrap-Up as established for you by the Admin-istrator.Agent Queue238-9Button for accessing a display of an Agent'sMonitorpersonal queue.Campaign238-10Button for accessing current queue informationMonitorregarding all campaigns assigned to you.Help238-11Button for accessing on-line help.
The processing will continue to step1130where the applet loaded to the agent's workstation102is bound to the agent manager service of the contact center server122(seeFIG. 1). The processing then continues to step1140where the agent is ready to log in.

As shown inFIG. 16, the system interface icon238-1, which at this time is a circle and bar in the left hand portion of the agent toolbar138, indicates that the agent has not logged in. To activate the agent tools on the workstation102, the agent can begin the login process by clicking on the system interface icon238-1to cause the log in prompt window240to appear as shown inFIG. 47and described in Table 34 below.

TABLE 34Agent Login Prompt FeaturesItemDescriptionUsername:Agent usemame. This is assigned by the Administrator.Password:Agent password. The Administrator initially assigns apassword for the agent. An agent may change the passwordany time you are logged into the system except during acontact.PhoneAgent telephone contact phone extension.Extension:LoginButton to complete the login process.CancelButton to cancel the login process.

The agent then enters the appropriate information and clicks the log-in button, which causes the processing to flow to step1150where a log-in request is sent to the agent manager. In step1160, the agent manager verifies the log-in information with the security manager service. If the log-in information is incorrect, the processing continues to step1170where the agent is notified of a log-in failure by an error message displayed on his or her workstation. The processing then returns to step1140where the agent can again attempt to log in.

However, if the log-in information is verified as being correct in step1160, the processing continues to step1180where the contact center server122creates a server site virtual agent object using CORBA as can appreciated by one skilled in the art. The processing then continues to step1190where it is determined whether the server site virtual agent object has been successfully created. If the virtual agent object has not been successfully created, the processing continues to step1170where an error message is displayed to notify the agent of a failure, and then the processing proceeds to step1140to await another log-in attempt. However, if the virtual agent object has successfully been created, the processing flows to step1200where the virtual agent object is sent to the agent's workstation102by the contact center server122over the LAN/WAN120.

The processing then continues to step1210where the agent event handler is registered with the agent manager service. The agent manager service then performs an agent accounting in step1220, where the agent manager determines how many agents are available, the skills of the available agents, and so on.

The processing then continues to step1230where the registration is verified. If the registration has not been successful, the processing continues to step1170to generate an error message on the display screen of the agent's workstation102, and then continues to step140to await another log-in attempt. However, if the registration is successful, the processing continues to step1240where the agent workstation102is controlled to display the agent toolbar238as shown inFIG. 48. It is noted that in the left hand side of toolbar238, the system interface icon238-1indicates via the opposite facing arrows that the agent has successfully logged in and thus has established a communication link with the contact center server122. Also, all three lights of the “traffic light” agent status indicator icon238-5will be on.

Parallel processing then occurs as indicated in steps1250and1260. Specifically, in step1250, the agent sets his or her status to “ready” and waits to handle contacts that are routed to him or her as will be described further below. To indicate that he or she is available to receive contacts, the agent clicks on the agent status indicator icon238-5, which causes the red and yellow traffic lights to turn off, thus leaving the green light active as an indication that the agent is ready.

In step1260, the agent manager waits to handle requests from the agent, such as e-mails, telephone call requests, VoIP requests, and so on, as described in more detail below, and other agent related tasks. For example, if the agent wishes to log off, the agent can click on the system interface icon238-1. The agent manager will then perform the necessary steps to destroy the server side virtual agent object, and thus undo the established communication link with the agent workstation102. In this event, the system interface icon238-1will return to a circle and bar display, indicating that the agent has logged out.

Also, the agent can change his or her password. To open the Change Password box as shown inFIG. 49while logged into the system, the agent right-clicks on the System Interface icon238-1on the toolbar238. A drop down menu will appear, which will allow the agent to left-click on the “change password” option to open the Change Password dialog box. The agent can then perform the following steps:1. Click in the Enter Old Password: field and enter the existing password.2. Type the new password in the “Enter New Password:” field. Enter it again in the “Verify New Password:” field. (If necessary, click Cancel to clear the fields, and try again.).3. Click “Change”.

The old password is then replaced by the new one. However, if the old password is not entered correctly, or if the password typed in the “Verify New Password:” field does not match what was typed in the “Enter New Password:” field, an error message box will appear. In this event, the agent can click “OK” to clear the error message box and try again.

As discussed above, the agents who have logged into the system100will be available to handle contacts being received by the system100. The following describes an exemplary manner in which the call center system100receives and queues contacts of different media types, such as telephony, facsimile, e-mail, Internet-based contacts, and so on, and routes those different contacts to the agents best suited to handle and respond to them.

Queuing and Routing of Contacts

FIG. 50is a conceptual flow diagram illustrating the basic manner in which the contact center system100receives contacts of different media types, retains the different media types in a common queue, and routes the queued contacts to the appropriate agents. As shown, the contact center system100in this example is capable of handling non-IVR telephone calls, IVR telephone calls, web callback requests, web chat, voice over IP communications, faxes and e-mails. However, as described below, because the different media-type contacts are all queued in a common queue independent of media type, the system is adaptable to handle any type of contact.

For purposes of this explanation, the receipt, queuing and routing of each different type of media contact will be discussed separately. However, as can be appreciated by one skilled in the art, the contact center system100receives and handles many of the different types of media contacts simultaneously.

Like a traditional call center, the contact center system100is capable of receiving and routing normal, non IVR telephone calls to agent telephones104and remote agent telephones150, as appropriate. The components associated with the receipt, queuing and routing of telephone calls are shown in the diagram ofFIG. 51, whileFIG. 52illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1300, a customer can place a call to the contact center over the PSTN108via his or her customer telephone110. The call is received by the telephony switch106in step1310. In step1320, the CTI server106recognizes the receipt of the incoming call, and notifies the ACD proxy of the contact system server122. In step1330, the ACD proxy then requests creation of a contact object with the routing manager which is also resident in the contact system122.

The processing proceeds to step1340, where the routing manager verifies the request from the ACD proxy. If the request cannot be verified, the processing proceeds to step1350, where the ACD proxy is informed by the routing manager that the contact object request has been rejected. However, if the request is verified, the processing proceeds to step1360where the routing manager creates a contact object and returns the contact object to the ACD proxy.

The ACD proxy then assigns media skills to the contact in step1370. For example, since the contact is a normal inbound call, the ACD proxy would assign a contact skill to the contact indicating that it could be handled by any agent capable of handling normal inbound calls. The processing then proceeds to step1380, where it assigns the contact to a campaign of the contact center system100that has been configured as described in detail in the “Configuring Call Center System” section above.

In step1390, the ACD proxy then populates the contact with customer data. For example, since the contact is a normal inbound call, the ACD proxy can populate the contact with the customer DNIS. The ACD proxy then routes the contact to the routing manager in step1395. The routing manager then begins the process of adding the contact to the common queue as described in detail below.

The contact center is also capable of handling IVR telephone calls. The components associated with the receipt, queuing and routing of IVR telephone calls are shown in the diagram ofFIG. 53, whileFIG. 54illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1400, a customer can place a call to the contact center over the PSTN108via his or her customer telephone110. The telephony switch106receives the call and forwards the caller to the IVR in step1405. In step1410, the CTI server106recognizes the receipt of the incoming call, and notifies the IVR proxy of the contact system server122. In step1415, the IVR proxy then requests creation of a contact object with the routing manager which is also resident in the contact system122.

The processing proceeds to step1420, where the routing manager verifies the request from the IVR proxy. If the request cannot be verified, the processing proceeds to step1425, where the IVR proxy is informed by the routing manager that the contact object request has been rejected. However, if the request is verified, the processing proceeds to step1430where the routing manager creates a contact object and returns the contact object to the IVR proxy.

The IVR proxy then assigns media skills to the contact in step1435. For example, since the contact is an inbound IVR call, the ACD proxy would assign a contact skill to the contact indicating that it could be handled by any agent capable of handling inbound IVR calls. The processing then proceeds to step1440, where the IVR is controlled to prompt the caller to collect the routing information. For example, the caller could be requested to enter numbers in response to questions so that the call could be identified as a request for service, an order, a billing question, and so on.

In step1445, the IVR instructs the IVR proxy to assign routing skills to the contact. The IVR then instructs the IVR proxy in step1450to assign campaign skills to the contact, and in step1455, instructs the IVR proxy to assign customer data to the contact, such as that entered in response to the prompts.

The IVR then notifies the IVR proxy in step1460to proceed with routing the caller. Accordingly, in step1465, the IVR proxy instructs the routing manager to being the process of adding the contact to the queue, as described in detail below.

As described above, unlike a traditional call center, the contact center system100is capable of receiving, queuing and routing a callback request that a customer can place via, for example, a web page of the company using the call center system100. The components associated with the receipt, queuing and routing of a web callback request are shown in the diagram ofFIG. 55, whileFIG. 56illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1500, a customer can place a callback request to the contact center via his or her workstation144. The callback request is received by the web server134in step1510. In step1520, the web proxy the recognizes the receipt of the request, and then requests creation of a contact object with the routing manager which is also resident in the contact system122.

The processing proceeds to step1530, where the routing manager verifies the request from the proxy. If the request cannot be verified, the processing proceeds to step1540, where the web proxy is informed by the routing manager that the contact object request has been rejected. However, if the request is verified, the processing proceeds to step1550where the routing manager creates the contact object, and the web proxy then assigns media skills to the contact object. For example, since the contact is a callback request, the web proxy would assign a contact skill to the contact indicating that it could be handled by any agent capable of handling web callback. The processing then proceeds to step1560, where it assigns the contact to a campaign of the contact center system100that has been configured as described in detail in the “Configuring Call Center System” section above.

In step1570, the web proxy then populates the contact with customer data, such as the customer telephone number. The web proxy then routes the contact to the routing manager in step1580. The routing manager then begins the process of adding the contact to the common queue as described in detail below.

As discussed above, the contact center system100is also capable of receiving, queuing and routing a web chat request that a customer can place via, for example, a web page of the company using the call center system100. The components associated with the receipt, queuing and routing of a web callback request are shown in the diagram ofFIG. 57, whileFIG. 58illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1600, a customer can place a callback request to the contact center via his or her workstation144. The callback request is received by the web server134in step1610. In step1620, the web proxy the recognizes the receipt of the request, and then requests creation of a contact object with the routing manager which is also resident in the contact system122.

The processing proceeds to step1630, where the routing manager verifies the request from the proxy. If the request cannot be verified, the processing proceeds to step1640, where the web proxy is informed by the routing manager that the contact object request has been rejected. However, if the request is verified, the processing proceeds to step1650where the web proxy then creates the contact object and assigns media skills to the contact object. For example, since the contact is a web chat request, the web proxy would assign a contact skill to the contact indicating that it could be handled by any agent who is well versed in using the Internet. The processing then proceeds to step1660, where it assigns the contact to a campaign of the contact center system100that has been configured as described in detail in the “Configuring Call Center System” section above.

In step1670, the web proxy then populates the contact with customer data, such as the customer telephone number. The web proxy then routes the contact to the routing manager in step1680. The routing manager then begins the process of adding the contact to the common queue as described in detail below.

The contact center system100is further capable of receiving, queuing and routing a voice over IP that a customer can place via his or her workstation144. The components associated with the receipt, queuing and routing of a VoIP request are shown in the diagram ofFIG. 59, whileFIG. 60illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1700, a customer can initiate a VoIP with the contact center via his or her workstation144. The VoIP request is received via the VoIP gateway (server)136in step1705or the web server/web proxy as can be appreciated by one skilled in the art. In step1710, the processing determines whether the VoIP destination needs translation to ACD/PBX. If so, the processing proceeds to step1715where the telephony switch106receives the call via the VoIP gateway136.

The processing then proceeds to step1720where the CTI server116recognizes the inbound call and notifies the ACD proxy. In step1725, the ACD proxy requests creation of a contact object with the routing manager which is also resident in the contact system122. The processing proceeds to step1730, where the routing manager verifies the request from the proxy. If the request cannot be verified, the processing proceeds to step1735, where the web proxy is informed by the routing manager that the contact object request has been rejected.

However, if the request is verified, the processing proceeds to step1740where the routing manager creates a contact object, and then to step1745where the ACD proxy then assigns media skills to the contact object. For example, since the contact is a VoIP, the ACD proxy would assign a contact skill to the contact indicating that it could be handled by any agent who is well versed in using the Internet. The processing then proceeds to step1750, where the ACD proxy assigns the contact to a campaign of the contact center system100that has been configured as described in detail in the “Configuring Call Center System” section above.

In step1755, the ACD proxy then populates the contact with customer data, such as the customer telephone number. The ACD proxy then routes the contact to the routing manager in step1760. The routing manager then begins the process of adding the contact to the common queue as described in detail below.

Alternatively, if it is determined in step1710that the VoIP does not need translation to ACD/PBX, the processing then proceeds to step1770where the VoIP proxy requests creation of a contact object with the routing manager which is also resident in the contact system122. The processing proceeds to step1775, where the routing manager verifies the request from the proxy. If the request cannot be verified, the processing proceeds to step1735, where the web proxy is informed by the routing manager that the contact object request has been rejected.

However, if the request is verified, the processing proceeds to step1780where the routing manager creates a contact object, and then the VoIP proxy then assigns media skills to the contact object. For example, since the contact is a VoIP, the VoIP proxy would assign a contact skill to the contact indicating that it could be handled by any agent who is well versed in using the Internet. The processing then proceeds to step1785, where the VoIP proxy assigns the contact to a campaign of the contact center system100that has been configured as described in detail in the “Configuring Call Center System” section above.

In step1790, the VoIP proxy then populates the contact with customer data, such as the customer telephone number. The VoIP proxy then routes the contact to the routing manager in step1795. Also, in step1797, the VoIP proxy submits a call connection request to the VoIP gateway136. The routing manager then begins the process of adding the contact to the common queue as described in detail below.

The contact center system100is further capable of handling facsimiles. The components associated with the receipt, queuing and routing of facsimiles are shown in the conceptual diagram ofFIG. 61, whileFIG. 62illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1800, a customer can send a facsimile to the contact center over the PSTN108via his or her customer facsimile112, or over the Internet142via his or her workstation144. In step1805, the FAX server118receives the facsimile via the telephony switch106or via the Internet gateway, depending on how the facsimile was sent, recognizes the receipt of the incoming facsimile, and notifies the FAX proxy of the contact system server122. In step1810, the FAX proxy then requests creation of a contact object with the routing manager which is also resident in the contact system122.

The processing proceeds to step1815, where the routing manager verifies the request from the FAX proxy. If the request cannot be verified, the processing proceeds to step1820, where the FAX proxy is informed by the routing manager that the contact object request has been rejected. However, if the request is verified, the processing proceeds to step1825where the routing manager creates a contact object and returns the contact object to the FAX proxy, which then assigns media skills to the contact object. For example, since the contact is an inbound facsimile, the FAX proxy would assign a contact skill to the contact indicating that it could be handled by any agent capable of responding to the facsimile.

The processing then proceeds to step1830, where the FAX proxy passes the received facsimile to the OCR processor, which is an optical character recognition processor that is set to recognize words or strings of words in text. In step1835, the OCR sends the output of the processing to the text processor, which returns usable parsed facsimile info to the FAX proxy in step1840. In step1845, the FAX proxy assigns routing skills to the contact. In step1850, the FAX proxy assigns campaign skills to the contact, and in step1855, proceeds with routing the contact by instructing the routing manager to begin the process of adding the contact to the queue, as described in detail below.

As discussed above, the contact center system100is also capable of handling e-mails. The components associated with the receipt, queuing and routing of e-mails are shown in the conceptual diagram ofFIG. 63, whileFIG. 64illustrates the steps performed by these components for receiving and placing the calls in the common queue.

As indicated in step1900, a customer can send an e-mail to the contact center over the Internet142via his or her workstation144. In step1905, the e-mail server132receives the e-mail via the Internet gateway, recognizes the receipt of the incoming e-mail, and notifies the e-mail proxy of the contact center server122. As can be appreciated by one skilled in the art, in step1910, the e-mail proxy polls the e-mail server for specified mailboxes, and in step1915, the e-mail proxy then requests creation of a contact object with the routing manager which is also resident in the contact center server122.

The processing proceeds to step1920, where the routing manager verifies the request from the e-mail proxy. If the request cannot be verified, the processing proceeds to step1925, where the e-mail proxy is informed by the routing manager that the contact object request has been rejected. However, if the request is verified, the processing proceeds to step1930where the routing manager creates a contact object and returns the contact object to the e-mail proxy. In step1935, the e-mail proxy then assigns media skills to the contact object. For example, since the contact is an inbound e-mail, the e-mail proxy would assign a contact skill to the contact indicating that it could be handled by any agent capable of responding to the e-mail.

The processing then proceeds to step1940, when the e-mail proxy passes the e-mail message and contact object for parsing to the text processing engine, which assigns routing skills to the contact in step1945. In step1950, the e-mail proxy assigns the contact to a campaign, and in step1955, populates the contact with customer data. In step1960, the e-mail proxy proceeds with routing the contact by instructing the routing manager to begin the process of adding the contact to the queue, as described in detail below.

FIG. 65shows components of the contact center server122, namely, the routing manager, route request broker, assignment manager, and agent manager, that are involved in placing a contact in the queue as will now be described, andFIG. 66is a flowchart illustrating the process. It is noted that this process it identical for all media types of contacts that were created in the manner described above.

As shown in step2000, the routing manager receives a route request from any of the proxies discussed above, and passes the contact object to the route request broker in step2010. In step2020, the route request broker provides custom routing rules to the contact object, and in step2030, the routing manager checks the contact object for routing skills.

If the routing manager determines that the contact object does not include routing skills, the processing proceeds to step2040where the routing manager assigns default routing skills. The processing then proceeds to step2050where the routing manager checks the contact object for the campaign to which it was assigned. However, if the routing manager determines in step2040that the contact object has routing skills, the processing proceeds directly to step2050as shown.

If the routing manager determines in step2050that the contact object has not been assigned to a campaign, the processing proceeds to step2060where the routing manager assigns the contact object to a default campaign. The processing then proceeds to step2070, where the routing manager commits the contact to a persistent queue. However, if the routing manager determines in step2050that the contact object has been assigned to a campaign, the processing proceeds directly to step2070as shown.

The processing then proceeds to step2080where the routing manager calculates the initial queue priority, priority incremental frequency and priority incremental rates for the contact. In step2085, the routing manager stores the queue time at which the contact was committed to the queue, and in step2090, notifies the assignment manager of the queued contact. In step2095, the assignment manager adds the contact to the “in memory” queue.

The manner in which queued contacts are handled in the queue will now be described with reference toFIGS. 67 through 71.FIG. 67is a conceptual block diagram illustrating components of the contact center server122, namely, the media proxy, routing manager, assignment manager, agent manager, and agent Java interface involved in routing a queued contact to an agent.FIG. 68is a flowchart illustrating exemplary steps performed by these components in routing the queued contacts.

Step2100indicates that the routing manager will periodically discontinue the routing process to, for example, reprioritize the contacts in the queue as described in detail below. However, except for the periodic time-out that occurs in step2100, the routing manager continuously performs the routing cycle to continuously route the queue contacts out of the queue and to the appropriate agents.

As shown in step2105, the assignment manager identifies the highest priority queued contact. For example, a normal or IVR call that has been queued will generally have a higher priority than, for example, an e-mail or fax contact, because it is preferable not to keep a live caller on hold for an extended period of time. Also, a particular type of call, such as a customer order, may receive priority over a call relating to a general service question, and so on.

The assignment manager interacts with the agent manager in step2110to identify the logged on agents who are capable of handling the highest priority contact. The processing proceeds to step2115, where it is determined whether any agents capable of handling the contact are available. If a suitable agent is available, the processing proceeds to step2120. If it is determined in step2120that multiple suitable agents are available, the processing proceeds to step2125, where the suitable agent with the longest idle time is identified, and the processing proceeds to step2130. However, if only one suitable agent is identified, the processing proceeds directly to step2130.

In step2130, the contact is assigned to the agent manager which generates an “assign contact” event to the agent manager, to match the contact to a suitable agent. This process is shown in more detail with regard toFIGS. 69 and 70. Specifically, in step2131, the assignment manager matches a contact to an agent, and in step2132generates the assign contact event to the agent manager. If the agent manager finds a match, the agent manager notifies the toolbar of the appropriate agent as shown conceptually inFIG. 70and discussed in more detail below. In step2135(FIG. 68), the contact is then moved into the service queue in step2140to await actual routing to the agent, and the status of that agent is updated in step2145as unavailable.

The processing then proceeds to step2150where the next priority contact is identified. If such a contact is present in the queue as determined in step2155, the processing returns to step2110and repeats. However, if no contact is located, the processing process to step2100and repeats.

Alternatively, if in step2155discussed above, no agents having the required skills are found to match the highest priority contact, the processing proceeds directly to step2150where the next priority contact is identified. If such a contact is present in the queue as determined in step2155, the processing returns to step2110and repeats. However, if no contact is located, the processing process to step2100and repeats.

Also, if in step2135discussed above the agent manager cannot match the contact for routing to a suitable agent, the processing proceeds to step2160to determine whether another available suitable agent exists. If so, the processing returns to step2125and continues as described above. However, if no other suitable agent exists, the processing proceeds to step2150and continues in the manner described above.

As discussed above, at any time that the routing processing is at the “sleep routing cycle time” step2100, the assignment manager can recalculate the priorities of the contacts in the queues. For example, if a certain contact has been in the queue for a long period, its priority could be increased.

Accordingly, as shown in step2200of the flowchart inFIG. 71, if the priority of the contacts in the queue is to be recalculated, the first contact in the queue is located in step2210, and its priority is recalculated in step2215. The next contact in the queue is then located in step2220. If it is determined in step2225that the last contact in the queue has not been reached, then the processing proceeds to step2230where that next contact is obtained. The processing returns to step2215where the priority of that next contact is recalculated, and the processing continues as discussed above until the last contact has be reprioritized.

However, once the last contact has been reprioritized, the processing proceeds to step2235where the contacts are resorted in the queue according to their new priority. The processing then waits for the next time to recalculate priority, which could be when the routing processing again returns to step2100.

The processes that occur when the respective different types of media contacts are handled by the agents to which they have been routed will now be described. As can be appreciated by one skilled in the art, the contact receiving, queuing and routing processes discussed above, along with the following contact handling processes, can be performed simultaneously by the contact center system100.

Handling of Routed Contacts By Agents

An example of the manner in which an agent can receive and handle a normal non-IVR voice contact will now be described with reference toFIGS. 72–78. Although this description will primarily make reference to the local agent workstation102and telephone104, the operations performed by a remote agent at his or her workstation146and telephone150are essentially identical.

FIG. 72is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of a non-IVR voice contact, andFIG. 73is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of a non-IVR voice contact for the agent in step2300, the agent manager dispatches the contact to the agent in step2310. In step2320, the agent receives the contact and retrieves specified contact data for preparation of a screen presentation on his or her workstation. This data can be retrieved, for example, from the customer database128and/or the customer legacy system130. Further details of the types of customer information that can be retrieved are described in U.S. patent application Ser. No. 09/260,549, referenced above.

The agent workstation102then generates a “contact received” event for the application event handler in step2330, and the application event handler receives contact information and invokes the contact center application for the contact in step2340. The agent workstation then requests the agent manager to transfer the non-IVR voice contact (hereinafter a “call”) to the agent telephone104in step2350. Accordingly, the telephony switch106transfers the call from the ACD queue to the agent's telephone in step2360as can be appreciated by one skilled in the art.

The agent can then answer the call in step2370in several ways. For example, the agent can simply lift the receiver of his or her telephone104and answer the call in a traditional manner. Alternatively, the agent can use the virtual phone capabilities of his or her workstation102as will now be described.

As shown inFIGS. 46 and 48, the agent toolbar238includes a virtual phone icon238-2which enables an agent to open the virtual phone display244on the agent's workstation102as shown inFIG. 74. The virtual phone makes it easier for an agent to handle telephone calls by allowing the agent to perform telephone functions from the computer. This tool includes all the functions normally associated with a telephone, and the agent can use the virtual phone to do any of the following: answer a call, dial a call, hang up when a call is complete, hold and retrieve a call, and make a conference call. Further details of the functionality of the virtual phone are described in U.S. patent Ser. No. 09/260,549, referenced above.

When a telephone call is routed to the agent, the handset on the virtual phone icon238-2will begin to bounce back and forth as shown inFIG. 75, to indicate that the phone is “ringing”. This action occurs both on the toolbar icon and on the icon inside the open Virtual Phone and corresponds to what is taking place on the agent's real telephone. When the agent hears his or her real telephone104ringing, the icon on the virtual phone will also be “ringing.”

When the agent physically pick ups the handset on his or her real phone104or hangs it up, the icon on the virtual phone will mimic these same actions. For contact center purposes, however, it is easier and more practical to use the virtual phone than it is to use the real phone. If the virtual phone is open when the call arrives, the agent can answer the call by clicking on the ringing virtual phone button. The icon238-1will then lift as shown inFIG. 76to indicate that the agent has answered the call, and the traffic light of the agent interface icon238-5of the agent toolbar238shown inFIGS. 46 and 48will show a red light indicating that the agent is busy.

As shown in step2380ofFIG. 73, the agent and caller can then communicate via their respective telephones104and110, so the agent can assist the caller as necessary. The agent can also view the caller-related information on the display screen of the agent's workstation102to better assist the caller with, for example, placing an order, a billing or service question, and so on.

The agent can also use the virtual phone display244to perform other caller-related operations. For example, the agent can place the caller on hold by clicking the hold button on the virtual phone display244. In the lower left corner of the virtual phone window there is a hold status indicator light which changes to red when the call is on hold, and the hold button also changes to a retrieve button as shown inFIG. 77. The agent can then use the keypad of the virtual phone display244, or the keypad on the normal phone104, to dial another number while the caller is on hold. The agent can also use the conference button of the virtual phone display244to conference the caller with another party. To take the caller off hold, the agent can click on the retrieve button, which also causes the hold status indictor light to become amber.

It is also noted that when the agent is handling a call, or at any other time, the agent status interface238-5of the agent toolbar238shown inFIGS. 46 and 48will change to indicate the agent's status. The “traffic light” of the agent status interface can indicate any of the following conditions shown in Table 35.

TABLE 35Agent Status Interface ConditionsDescriptionStatusThe light changes to . . .No lightsAgent not logged intoAll Colors, upon log in usingthe system.System InterfaceAll lightsAgent logged into theGreen, after clicking the Trafficsystem, but has notLight to indicate that you areyetready to receive a contact.Green lightAgent ready toRed, automatically upon initiationreceive a contact.of a contact.Red lightAgent engaged in theYellow, after clicking the Trafficcommunication stageLight to indicate that you haveof a contact.completed the communicationstage of the contact and hasentered the Wrap-Up stage.Yellow lightAgent in the Wrap-Green, after clicking the TrafficUp stage of a contact.Light to indicate that you havecompleted the Wrap-Up stage,has concluded the contact, and isready to receive another contact.

Once the communication stage of the contact is over, the must complete the wrap-up stage as indicated in step2390of the flowchart inFIG. 73. The wrap-up stage of a contact is a period of time for the agent to finish up any administrative issues associated with the current contact and to begin preparation for the next contact. To enter the wrap-up stage of a contact, the agent click the (red) traffic light of the agent interface icon238-5. The traffic light then turns to yellow and notifies the system that the agent is in wrap-up. During wrap-up, the agent remains unavailable to receive another contact.

It is important to note that a contact is not considered by the contact center system100to be closed at the moment when all communications media being used in the contact are closed. That is, when the agent has hung up from a voice contact and is no longer in active communication with the contact, the contact center system100continues to treat the contact as open. Only after the agent has performed the wrap-up stage and has reset the agent status to receive a new contact does the system100consider the contact closed. Also, once a contact is established, the system100tracks the time of the contact session, counting down from a time allotment set by the system administrator. Until the agent exits the wrap-up phase, the system100considers the contact to be open, and the clock238-6,238-7and238-8of the agent toolbar238will continue to run. If the agent runs out of time, the wrap up clock238-8will flash 00:00 until the agent finishes wrapping up.

The agent can perform various wrap up tasks during the wrap up period. For example, the agent can update the contact's information from the agent's workstation102using the contact statusing window246as shown inFIG. 78. Due to the diversity in the needs of individual contact centers, this feature can be configured to open from a menu, open automatically, or be disabled. This functionality is neither controlled by the agent nor the system administrator, but rather by the application integrator.

To open the contact statusing box from a menu (if so configured), the agent right-clicks the traffic light of the agent interface status icon238-5to display a menu, and selects “open contact statusing” from the displayed menu. If the system is configured for contact statusing to open automatically, at the appropriate time (such as upon entering the wrap-up stage), the contact statusing box will open on the agent's workstation102display screen. The following Table 36 describes the elements of the Contact Statusing box.

TABLE 36Contact Statusing Box DescriptionItemDescriptionChoose anAgent able to select one of four outcomes to describe theOutcome:current contact (or attempted contact):ContactAgent successfully completed the contact. For incomingcontacts, the outcome is always Contact.ReroutedAgent transferred the contact to another Agent, supervisor,todayor back to your own queue for a later call back.NoAgent was unsuccessful in completing an outbound contactContactdue to availability issues (line busy, no answer, etc.) Agentcan only make a No Contact determination during a real-timecontact (voice, video, etc.).NoAgent was unsuccessful in completing an outbound contactContactdue to accessibility issues (wrong number, out of order,etc.) Agent can only make a No Connect determination duringa real-time contact (voice, video, etc.).Select aOutcome of the contact from pull-down list of choices.Result:Select aExplanation of the result from pull-down list of choices.Reason:OKSubmits the information

At some point during the contact, the agent will complete the wrap up process. The agent can then exit the wrap-up stage of a contact by clicking the (yellow) traffic light of the agent status interface icon. The traffic light then turns green, and the agent's workstation notifies the agent manager that the completed contact is closed and the agent is ready to receive another contact. The agent can then view the times on the time displays238-6,238-7and238-8of the agent toolbar238to ascertain the length of time to complete the operations associated with the contact These displays assist the agent n managing time throughout the work day. Each of the displays tracks time in H:MM:SS format.

Specifically, the session display238-6keeps a running count of how long the agent has been logged into the system. If the agent logs out for any reason, such as a break, the contact center system100considers the session to be over and resets the time display to zero. Logging in again starts a new session. The contact display238-7keeps a running count of the time being devoted to the current contact. When the communications portion of a contact is over (e-mail sent, hang-up, etc.), and when the agent has entered the wrap-up stage of the contact, this timer continues running. Until the agent has reset status to ready by exiting wrap-up, signified by the green traffic light of the agent status interface238-5, the contact is still active. The wrap-up display238-8is a countdown reminder of the time it is taking the agent to complete the wrap-up stage of the contact. The amount of time that is on the counter at the beginning of wrap-up is set by the system administrator and represents the time you are expected to devote to wrap-up under normal circumstances.

When the timer has counted down to zero, the wrap-up display flashes and continues flashing until the has completed the wrap-up stage by clicking the yellow traffic light of the agent status interface icon238-5, thus resetting the agent status to ready as signified by the green traffic light indicator. The functions of these of the time displays are summarized in the following Table 37.

TABLE 37Summary of Timers on Agent ToolbarItemDescriptionSessionThe amount of time agent has been logged in during the cur-rent session. Logging out resets the display to zero.ContactThe amount of time agent has been working with the currentcontact. Once agent has completed all stages of the contactand has returned to ready mode, the timer is rest to zero.Wrap-UpThe amount of time agent has remaining to complete thewrap-up stage within the timeframe set by the system adminis-trator. Upon expiration, the display flashes zero until the agenthas exited wrap-up.

The following describes an example of the manner in which an agent handles an IVR voice contact with reference toFIGS. 79 and 80. Although this description will primarily make reference to the local agent workstation102and telephone104, the operations performed by a remote agent at his or her workstation146and telephone150are essentially identical.

FIG. 79is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of an IVR voice contact, andFIG. 80is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of an IVR voice contact for the agent in step2400, the agent manager dispatches the contact to the agent in step2410. In step2420, the agent receives the contact and retrieves specified contact data for preparation of a screen presentation on his or her workstation, in a manner similar to that described above in step2320for non-IVR contacts.

The agent workstation102then generates a “contact received” event for the application event handler in step2430, and the application event handler receives contact information and invokes the contact center application for the contact in step2440. The agent workstation then requests the agent manager to transfer the IVR voice contact (hereinafter a “call”) to the agent telephone104in step2450. Accordingly, the telephony switch106transfers the call from the IVR to the agent's telephone in step2460as can be appreciated by one skilled in the art.

The agent can then answer the call in step2470either with his or her normal telephone104or via the virtual telephone shown inFIG. 74as described above. In step2480, the agent can communicate with each other so that the agent can assist the caller as necessary in a manner similar to that described above for non-IVR calls. The agent can then perform the wrap up operations in step2490, which are similar to those associated with a non-IVR call described above.

An example of the manner in which an agent handles a web callback request contact will now be described with reference toFIGS. 81–84. Although this description will primarily make reference to the local agent workstation102and telephone104, the operations performed by a remote agent at his or her workstation146and telephone150are essentially identical.

FIG. 81is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of a web callback contact, andFIG. 82is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of a web callback contact for the agent in step2500, the agent manager dispatches the contact to the agent in step2510. In step2520, the agent receives the contact and retrieves specified contact data for preparation of a screen presentation on his or her workstation, in a manner similar to that described above in step2320for non-IVR contacts.

The agent workstation102then generates a “contact received” event for the application event handler in step2530, and the application event handler receives contact information and invokes the contact center application for the contact in step2540. The agent workstation then notifies the web collaboration proxy to present a “reverse screen pop” HTML to the customer PC144to notify the customer of the pending callback in step2550.

That is, a splash page248as shown inFIG. 83is first sent to draw the customer's attention to the fact that the connection is imminent. A few moments later, the splash page248disappears from the customer's PC display screen, and is replaced by a notice display page250as shown inFIG. 84, stating that the call back attempt will be made, for example, in 15 seconds, thereby allowing the customer to disconnect from the Internet, if necessary, to receive the requested phone call from the agent. In actual practice, these pages 248 and 250 can be customized to conform to the company image being represented by the contact center system100.

In step2560, the agent manager then passes the customer phone number to the CTI manager, and in step2570, the telephony switch106dials the customer number. Also, the virtual phone display244(seeFIG. 74) on the agent's workstation102display screen is activated, and the virtual phone icon238-2lifts its handset as shown inFIG. 76, and the traffic light of the agent status indicator238-5changes from green to red. If the customer answers, the web call back is considered successful, and is treated like any other call in step2580. After completing the communications aspects of the contact, the agent can proceed with the wrap up in step2590in a manner similar to the wrap up procedures described above.

However, if the customer does not answer, the agent can click the virtual phone icon238-2to hang up the call attempt. When the agent ends the call attempt, the virtual phone icon238-2hangs up and the traffic light turns yellow as the contact sequence enters wrap-up mode in step2590. At this point, the agent can reroute the customer contact to try back at a more appropriate time, or reroute the customer contact in another manner.

To reroute a customer, the agent can perform the following operations. The following Table 38 outlines the most typical reasons for rerouting a contact along with the recommended action.

TABLE 38Contact Rerouting Reasons and ActionsReasonActionWrong campaignModify the contact information, thenreroute to queueContact was working with anotherSelect requested Agent and rerouteAgent and requests to be recon-nected to that AgentAgent needs to research for anReroute to SelfanswerRequest is too technicalReroute to Supervisor/SpecialistAgentContact requests a later call backReroute to Self, to queue, or to aspecific Agent depending on therequest

To reroute a contact, the agent can click on the reroute contact icon238-4on the agent toolbar238as shown inFIGS. 46 and 48to cause the window252shown inFIG. 85to appear on the agent's workstation102display terminal.

The following Table 39 describes the elements of the reroute contact window.

TABLE 39Element of the Reroute Contact WindowItemDescriptionBack to QueueReroute destination back to the general routing queue.Back to SelfReroute destination back to Agent's personal queue.Forward toReroute destination to another specific Agent.AgentIn Campaign:Dropdown list of all currently defined campaigns.AvailableScroll list of all Agents who are currently assigned to theAgents:campaign you have chosenReroute forDate and time system will initiate the rerouted contact.TimeContinueAccepts data entered and opens a Contact Infonnationbox.CancelIgnores any data entered and closes the box.

If the agent wishes to route the contact to any qualified available agent, the agent can reroute the contact using the back to queue feature of the window252by performing the following operations:1. Select Back to Queue.2. To specify a particular time the contact should be placed in the queue:Under Schedule Destination in the Reroute for Time field, select a date and time using the down scroll arrow, select the date and time for the reroute, or type the information in directly into the appropriate Month, Day, Hour, and Minute boxes.3. Click Continue.4. A Contact Information window will open. Make any desired changes to the information about your contact. See Section 1.5.1, “Contact Information.”5. Click Reroute to complete the process, or Cancel to ignore any changes made to the contact information and exit Reroute Contact.

If the agent wishes to continue to personally handle a contact that needs to be rerouted, the agent can reroute the contact using the “back to self” feature of the window252by performing the following operations:1. Select Back to Self.2. Agent must specify a particular time the contact should be placed in his or her queue.Under Schedule Destination in the Reroute for Time field, select a date and time using the down scroll arrow, select the date and time for the reroute, or type the information in directly into the appropriate Month, Day, Hour, and Minute boxes.3. Click Continue.4. A Contact Information window will open. Make any desired changes to the information about your contact. See Section 1.5.1, “Contact Information.”5. Click Reroute to complete the process, or Cancel to ignore any changes made to the contact information and exit Reroute Contact.

If the agent wishes to reroute the contact to another specific agent, the agent can reroute the contact using the forward to agent feature of the window252and perform the following steps:1. Select Forward to Agent.2. From the In Campaign drop down list, select the destination campaign for this contact.3. Select an Agent from the Available Agents scroll list to which the contact is to be routed.4. Under Schedule Destination in the Reroute for Time field, select a date and time using the down scroll arrow, select the date and time for the reroute, or type the information in directly into the appropriate Month, Day, Hour, and Minute boxes.5. Click Continue.6. A Contact Information window will open. Make any desired changes to the information about your contact. See Section 1.5.1, “Contact Information.”7. Click Reroute to complete the process, or Cancel to ignore any changes made to the contact information and exit Reroute Contact.

Additionally, as an agent works with contacts, the agent learns more about their respective needs, including such things as the types of skills that agents should possess in order to best serve them. Before an agent consults with a supporting agent, or puts this contact back into the queue, the agent may need to record anything that might have been learned during a contact that might be of value to other agents or the contact center regarding that particular contact.

Therefore, from the reroute contact window, the agent can click the continue button to open a contact information window254as shown inFIG. 86and described in Table 40 as follows:

TABLE 40Contact Information Window FeaturesItemDescriptionCustomer ID:Identification information for the contactCustomerPrioritization level for the contactType:CampaignCurrent campaign for the contactMedia TypeCurrent media type for the contactSystem SkillsAll available skillsAssigned SkillsSkills needed to handle the contactAdd>Adds selected System Skills to the Assigned Skills<RemoveRemoves selected skills from the listed Assigned SkillsRerouteCommits any modified information to the contact recordand execute the reroute.CancelIgnores any data entered and closes the box.

To complete the contact information as desired, the agent can perform the following operations:1. Using the mouse, select the field(s) to be modified2. Using the down arrow, scroll to the information to be included.
The special skills that are needed in a particular campaign are listed in the Assigned Skills field. In order to make the Contact Center System more efficient in its treatment of a particular contact, it may be useful to modify the list of skills that are to be associated with that contact. Removing unnecessary skills might mean increasing the number of available qualified Agents, thereby reducing the time that the contact must wait to be connected with another Agent. If the contact needs assistance beyond the skill set of the campaign, the agent might need to add certain skills so that the next Agent would have the proper qualifications. System skills are added and removed as follows:

Adding a Skill

1. Select the desired skill(s) from the System Skills: list.To select more than one skill, hold down the Shift key to select a range, or the Ctrl key to select multiple individual skills.

Removing a Skill

1. Select the desired skill(s) from the Assigned Skills: list.To select more than one skill, hold down the Shift key to select a range, or the Ctrl key to select multiple individual skills.

Once the skill modifications are complete, click Reroute. The Contact Information window then closes and the contact is rerouted.

It is noted that the above rerouting operations and contact information updating operations can be performed by any agent at essentially any time, and for any type of media contact. The handling of further types of media contacts will now be described.

An example of the manner in which an agent handles a web chat contact will now be described with reference toFIGS. 87–92. Although this description will primarily make reference to the local agent workstation102and telephone104, the operations performed by a remote agent at his or her workstation146and telephone150are essentially identical.

FIG. 87is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of a web callback contact, andFIG. 88is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of a web chat contact for the agent in step2600, the agent manager dispatches the contact to the agent in step2610. In step2520, the agent receives the contact and retrieves specified contact data for preparation of a screen presentation on his or her workstation, in a manner similar to that described above in step2320for non-IVR contacts.

The agent workstation102then generates a “contact received” event for the application event handler in step2630. In step2640, the application event handler receives contact information and invokes the contact center application for the contact. Then, in step2650, the agent launches a web collaboration applet to connect to the chat server135.

In step2660, the chat server connects the customer PC and the agent workstation102in the same chat channel. The agent and customer then communicate with each other over the chat channel in step2670.

Examples of the types of windows that can be displayed on the display screens of the agent's workstation102and customer's PC144will now be described. For instance, when a collaboration is being attempted by an agent, a web connection window256as shown inFIG. 89will be displayed on the display screen of the customer's PC. Initially, the box will be disabled, but displayed at the top will be information regarding the customer's position in the queue, actual waiting time lapsed, and the average time people have been waiting in the queue before connecting to an agent. Once the connection is made between an agent and customer as indicated in step2670above, the queue status information is replaced by whatever the contact center100has chosen to display (such as company name and agent name) and the interactive features of the box become enabled.

It is noted that unless the contact has requested a web chat, an agent can open his or her own web connection window258to be displayed by his or her workstation102as shown inFIG. 90. To open the web connection window, the agent can click the web collaboration icon238-3on the agent toolbar238as shown inFIGS. 46 and 48. Regardless of whether the agent or the customer initiated the web chat, the web connection windows256and258enable the agent and customer to push web pages to each other.

The following Table 41 describes the elements of an agent's web collaboration window.

TABLE 41Details of Agent Web Collaboration WindowItemDescriptionEnter URLField where Agent enters the URL of the image that theto Push:Agent wants to send to the contact. The down arrow on theright shows a list of the previous URLs the Agent entered.Push URLButton to send the URL to the contact.RemarksField where the text messages of both Agent and contactappear. Agent's and contact's remarks appear in differentcolors from one another. In addition, each of the Agent'sremarks is preceded by A:. Each of the contact's is pre-ceded by C:.Enter TextText box where Agent and your contact type the remarksMessage:they wish to send to each other.SendButton for sending the text message into the Remarks fieldwhere it is visible by both Agent and contact.CloseButton to end the Web Collaboration (available only toAgent).

During step2670of the web chat operation flowchart shown inFIG. 88, the customer receives the agent's comments in his or her web collaboration window256as shown inFIG. 91. The customer is also able to send remarks to the agent as accomplished through his or her web collaboration window256as shown inFIG. 92. In this example, the contact sees the name of the company and the agent's name at the top of the window256. However, depending on how the contact center system has designed this interface, the customer might see completely different information, if any at all. In any event, the customer will be able to enter URLs to push to the agent, and will be able to conduct a chat. However, unlike the agent web connection window258, the customer's web connection window typically will not have a close button.

To push URL pages to the customer's PC144during a web chat, the agent can perform the following steps”1. Click in the Enter URL to Push: field.2. Type the complete URL (http:// . . . /pagename.html).or click the drop-down list arrow and select a previously visited URL. The system holds all URLs accessed during the current work session. Once a session is ended, the list of visited URLs is automatically cleared.3. Click Push URL.
The page Agent selected then opens in a window on contact's screen.

To send a text message to the customer, the agent performs the following operations:1. Click in the Enter Text Message field and type a message.2. When the message is ready to be transmitted, click Send.

The message then appears in red in the Remarks field on both contact's and Agent's respective message interface windows. Text that submitted is preceded by A:, while text submitted by the customer contact is preceded by the letter C:. Both the agent and the customer contact will view their own posted remarks in blue and the other's remarks in red, for example.

Although the Web Connection box is a relatively intuitive communications tool, it is advisable for the agent to be prepared to send a few basic instructions to the customer contact regarding its use, such as the following:

Click in the Enter Text Message: field and type your message.

Click the Send button to transmit your message.

Our remarks will appear together in the Remarks field.

Yours will be preceded by “C:” and appear in blue.

Mine will have a preceding “A:” and appear in red.

When the contact is complete, the agent can click the close button on his or her web connection window258, and commence the wrap up operation in step2680, which are similar to the wrap up operations for the other media types of contacts described above. When the close button is clicked, the web connection window258closes and, if this is the only medium being used with the customer contact, the contact is ended. However if the web collaboration is being performed in conjunction with other media, such as voice, that other connection with the customer contact remains active

The following describes an example of the manner in which an agent handles a VoIP contact with reference toFIGS. 93 and 94. Although this description will primarily make reference to the local agent workstation102and telephone104, the operations performed by a remote agent and his or her workstation146and telephone150are essentially identical.

FIG. 93is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of a VoIP contact, andFIG. 94is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of a VoIP contact in step2700, the agent manager dispatches the contact to the agent in step2705. In step2710, the agent receives the contact and retrieves specific contact data for preparation of a screen presentation on his or her workstation, in a manner similar to that described above in step2320for non-IVR contacts.

The agent workstation102then generates a contact received event for the application handler in step2715. The application event handler then receives the contact information in step2720and invokes the contact center application for the contact. Then in step2725, it is determined whether the VoIP destination needs translation to ACD/PBX. If so, the processing proceeds to step2730where the agent requests the CTI manager to transfer the customer call to the agent's telephone104. In step2735, the telephony switch106will then transfer the telephone call from the ACD queue to the agent's telephone, and in2740, the agent can answer the incoming call in any of the manners described above.

Alternatively, if in step2725it is determined that the VoIP destination does not need translation to ACD/PBX, the processing proceeds to step2730where the agent requests the VoIP proxy to transfer the customer call to the agent's telephone. The VoIP server then connects the customer call the agent's telephone in step2735, and the processing proceeds to step2740where the agent can answer the telephone call in any of the manners described above.

After answering the telephone call, the agent and customer can communicate with each other so that the agent can adequately service the customer in step2745. Then, in step2750, the agent can perform a wrap-up procedure similar to the wrap-up procedures described above.

The following describes an example of the manner in which an agent handles a facsimile contact with references toFIGS. 95 and 96. Although this description will primarily make reference to the local agent workstation102and telephone104, the operation performed by a remote agent and his or her workstation146and telephone150are essentially identical.

FIG. 95is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of a facsimile contact, andFIG. 96is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of a facsimile contact for the agent in step2800, the agent manager dispatches the facsimile contact to the agent in step2810. In step2820, the agent receives the contact and retrieves the specified contact data for preparation for of a screen presentation in a manner similar to that described above. In step2830, the agent then generates a contact received event to the application event handler.

In step2840, the application event handler sends contact data for a screen presentation in HTML format to the template manager, and in step2850, the template manager constructs the appropriate web page according to the contact information.

The agent then requests the page for the assigned contact from www server124in step2860. In step2870, the display screen of the agent's workstation104displays the appropriate HTML page for the contact via its web browser and invokes the contact center application. Then, in step2880, the agent's workstation102can forward a web form/CGI script submission to the fax server to send a reply to the customer. The agent can then perform a wrap-up procedure in step2890similar to the wrap-up procedures described above.

The following describes an example of the manner in which an agent handles an e-mail contact with references toFIGS. 97 and 98. Although this description will primarily make reference to the local agent workstation102and telephone104, the operations performed by a remote agent and his or her workstation146and telephone150are essentially identical.

FIG. 97is a conceptual block diagram illustrating components of the call center system100involved in an agent's handling of an e-mail contact, andFIG. 98is a flowchart showing exemplary steps performed in handling the contact. When the assignment manager notifies the agent manager of an e-mail contact in step2900, the agent manager dispatches the e-mail contact to an agent in step2910. In step2920, the agent receives the contact and retrieves specified contact data for preparation of a screen presentation as can be appreciated by one skilled in the art. Then, in step2930, the agent generates a contact received event for the application event handler.

In step2940, the application event handler sends contact data for a screen presentation of the e-mail in HTML format to the template manager. In step2950, the template manager constructs an appropriate web page according to the contact information, and in step2960, the template manager adds text for the e-mail body and links for the binary large objects (BLOBs).

In step2970, the display screen of the agent's workstation displays an HTML page for the e-mail contact via its web browser and invokes a contact center application. Then, in step2980, the agent can reply to the e-mail as appropriate. In step2990, the agent then performs a wrap-up procedure similar to the wrap-up procedures described above.

In summary, it is noted that when a contact is an e-mail, the e-mail message will appear on the agent's screen and the system will offer some method for the agent to reply to it. The look and feel of the e-mail features will be largely dependent on the design of the specific e-mail application being used by the contact center system100.

Typical scenarios would have an e-mail message pop in its own window on the agent's screen, or in a frame within a window designed to serve as a work area. Most likely, the agent will see From:, To:, Cc:, and Subject: (or Re:) information along with the message. The agent would most likely be able to reply to the message by clicking hypertext on the From: line of the e-mail (the Sender) to open a reply box equipped, at the very least, with a message entry area and send button. However, because the treatment of this media type depends on the design of the system integrator of the contact center, everything from the way an agent receives the message to they way a reply is made can be completely different from one system to the next.

Furthermore, because most e-mail applications are very easy to use, regardless of what e-mail application is running on the system100, an agent should have no difficulty in understanding how to read and respond to e-mail messages that he or she receives.

In addition to handling contacts and performing the other tasks described above, an agent is capable of examining his or her own personal queue. An agent's personal queue typically contains contacts that have been rescheduled for a call back, or contacts routed to that agent from another Agent.

To access the personal queue, the agent can click on the agent queue monitor icon238-9of the agent toolbar238shown inFIGS. 46 and 48to cause an agent queue monitor window260similar to that shown inFIG. 99to be displayed by the agent's workstation102. The following Table 42 describes the elements of window260.

TABLE 42Agent Queue Monitor WindowItemDescriptionMedia TypeMedia type to be used to reach the contactCustomer TypePrioritization level for the contactCampaignCurrent campaign for the contactScheduled DateScheduled date for a callback to the contactScheduledExact time system will attempt to reach the contact onTimethe Scheduled Date

An agent can also monitor his or her campaign by clicking on the campaign monitor icon238-10of the agent toolbar238shown inFIGS. 46 and 48to display a campaign summary monitor window262on the display screen of his or her workstation102. The campaign monitor window shows a summary and, if desired, details of current queue information regarding a selected campaign. The following Table 43 describes the elements of the campaign summary monitor window262:

TABLE 43Campaign Summary Monitor WindowItemDescriptionCampaignAll active campaigns to which Agent is assignedNumber inNumber of contacts waiting at the present timeCampaignLongest WaitLongest time a contact has currently been waiting inTimequeue, in hours, minutes and seconds (H:MM:SS)

To view more information about waiting contacts, the agent can click on the button for the desired campaign to cause the campaign detail monitor window264as shown inFIG. 101to be displayed by the agent's workstation102. The following Table 44 describes the elements of the campaign detail monitor window264:

TABLE 44Campaign Detail Monitor WindowItemDescriptionPositionPosition of contacts currently in the queue of a particularcampaignMedia TypeType of media being used by the contactCustomer IDData (such as an ID or account number) that identifiesthe contactCustomer TypePrioritization level of the contactWait TimeAmount of time the contact has remained in the queue inMinutes/Seconds

In addition, if an agent has questions about using the agent tools of the system100, the on-line help displays helpful information, in a format divided into convenient chapters. If the system100has been customized, Help may also contain information specific to the call center, with links to useful information.

When an agent is logged out of the system, the only two buttons on the toolbar238that are not disabled are the system interface button238-1used to log in, and the help button238-11.

Information regarding the version of the system the agent is using is accessed through the help button238-11. To see the current version of the software, the agent can right click the help button238-11. A drop down menu with single item, About Agent, appears. The agent can then click on this drop down menu to open an information box266as shown inFIG. 102. The agent can then click on the “ok” button to close the box.

As can be appreciated from the above, the media types are categorized according to the way they are to be treated when placed in the queue for the next appropriate agent. If it is an inbound contact, the media type automatically corresponds to the medium used in establishing the contact. For example, if the contact places a phone call, the media type is Voice, if the contact sends an e-mail the media type is e-mail, and so on, as shown in Table 45.

TABLE 45An Example of Some Media Types Handled by the SystemMedia TypeDescriptionVoiceTelephone call from a contact received into the system.Call BackTelephone call from an Agent automatically placed bythe system.E-mailE-mail message from a contact received into the system.Web Call BackNotice sent into the system by a contact currently view-ing a contact center related Web page requesting animmediate call back from an Agent.Web ChatNotice sent into system by a contact currently viewing acontact center related Web page requesting an immediatechat with an Agent over the Web.Web BulletinPost from a Web bulletin board configured to enterBoardsystem under specific conditions defined by the Applica-tion Integrator.

It should also be noted that in addition to what occurs automatically during an inbound contact, an agent has the ability to change the media type of a contact for future placement into the queue. For example, if a call comes in as voice, an agent might find it appropriate to reroute to another agent or back to himself or herself at a later time. In that situation, the agent might change the media type for that contact to call back or to e-mail, depending on what the circumstances demanded.

In addition to the above, a web bulletin board feature of the system100allows anyone with access to the world wide web and a browser to post a message or a question to which anyone else visiting the board can post a response. This can be a valuable tool for businesses wanting to provide a dynamic product information forum for their customers.

It is possible, however, for such a service to show a company in a negative light if a customer poses a question that never receives an answer. The system web bulletin board function can prevent this from happening, because the system monitors the web bulletin board for posts that have not received any response for whatever period of delay the system is configured to intercept. When the system identifies a post that is due for a response, the post is then automatically routed to agents for handling.

FIG. 103shows an example of an agent interface window268displaying a web bulletin board contact. Web bulletin board pages routed to agents are displayed in the frame at the lower right of their interface windows, as shown in this example. An agent's screen displays the same web page that would be seen by selecting it during a visit to the actual web bulletin board. The following Table 46 describes the elements of a post routed to an agent from the web bulletin board in window268:

In this example, the web bulletin board (Discussion Web), displays a toolbar in the message frame for creating, accessing, and replying to posts. Although it is possible for an agent to use all of these tools as any visitor to the Discussion Web, the purpose of the Web Bulletin Board function of system100is to ensure that unanswered posts receive a reply.

An agent can use the reply button to display a reply window270as shown inFIG. 104which the agent can use to reply to a web bulletin board message by performing the following steps:1. Click the Reply button. The following Reply Message window will appear:2. Type agent's name and your e-mail address in the appropriate boxes.
Click Send Message to send the reply.

Appendix—Setting Up a Campaign

The Campaign

One of the basic structures used in a contact center is a concept called a “Campaign”. The term originally comes from the contact center where the basic measure of work was the telephone contact and “campaigns” were created to organize the workers within a contact center around the various types of telephone calls that were received or made. Campaigns are often thought of as outbound telemarketing campaigns where a plan is organized, a list of contacts are identified, a time frame for running the campaign is decided, a script is developed, and a desired response is sought. Once initiated, specific results are recorded to measure the success of the campaign.

First, you need to identify the campaign and the normal results expected.

Restrictions/CharacteristicsCampaignSystemNameNo more than 50charactersCampaignNo more than 31ResultscharactersResult ReasonsNo more than 31characters
Agents will have the option of selecting one of four outcomes:

Contact

No Contact

No Connect

The Results and Reasons will vary with each campaign, but the following will give you some ideas. As you can tell, some of the result and reason values apply to either a sales or a service type of campaign.

Sales Campaign

You need switch names, switch ids, and server addresses for both your primary server and your back-up server that will be used on each campaign. This information may already be loaded into your system, or you will have to check with your telephony administrator for this information.

Agent Extensions

These are the actual extensions assigned to Agent desk positions.

ItemRestrictions/CharacteristicsFrom ExtensionInitial (and inclusive) telephony extension of therangeFormat: Up to 31 digitsTo ExtensionLast (and inclusive) telephony, extension of therangeFormat: Up to 31 digitsSwitch TypeName of the telephony switchFormat: 31 charactersPrimary SwitchThe identification number associated with a CTIIDlink defined in the Dialogic CT-Connectconfiguration.Format: 31 charactersSecondaryThe identification number associated with the(Redundant)secondary CTI link defined in the Dialogic CT-Switch IDConnect configuration.Format: 31 charactersCT-ConnectThe IP address of the Dialogic CT-Connect serverServerFormat: 255.255.255.255SecondaryThe IP address of the secondary Dialogic CT-(Redundant) CTIConnect serverServerFormat: 255.255.255.255
ACD/Routing Point
This is where system will pick up a contact and place it in the queue.

ItemRestrictions/CharacteristicsACDIs this device the ACD Queue in the switch?Routing PointIs this device a route point in the switch?Initial CallIf a contact comes through a routing point, whatTreatmentwill they hear while on hold?Format: 31 charactersSwitch TypeName of the telephony switchFormat: 31 charactersPrimary Switch IDThe identification number associated with aCTI link defined in the Dialogic CT-Connectconfiguration.Format: 31 charactersSecondaryThe identification number associated with the(Redundant)secondary CTI link defined in the Dialogic CT-Switch IDConnect configuration.Format: 31 charactersCT-ConnectThe IP address of the Dialogic CT-ConnectServerserverFormat: 255.255.255.255SecondaryThe IP address of the secondary Dialogic CT-(Redundant CTIConnect serverServerFormat: 255.255.255.255
IVR
These are the physical ports that route the extensions.

Restrictions/CharacteristicsIVR MasterThis is the IVR master controller IDcontrolling the range of ports configuredbelow.Format: 0–9999From IVR ChannelInitial (and inclusive) IVR port of the range(F.C.)Format: 0–9999To IVR ChannelFinal (and inclusive) IVR port of the range(T.C.)eFormat: 0–9999From Extension (F.E.)Initial (and inclusive) extension of therangeTo Extension (T.E.)rFinal (and inclusive) extension of the range
E-mail Mailboxes, Passwords, Addresses and Response URLs
If this campaign is on the Internet, you will need to configure the mailbox and the proxy.

Restrictions/CharacteristicsMailbox NameMailbox name in the POP3 Server. Somecampaigns may have more than one mailbox.Format: Alpha CharactersNo spaces between wordsMaximum length of 31 charactersDomain NameInternet domain of the mailboxMailbox PasswordFormat: 6–12 Alpha CharactersPOP3 Server IPPost Office Protocol 3AddressFormat: 255.255.255.255SMTP Server IPSimple Mail Transfer ProtocolAddressFormat: 255.255.255.255CampaignName of the campaign to which a messagereceived will be routed toResponse TemplateURL address of the automated responseURLmessage template fileMaximum of 254 charactersAttachment DataFile path where the incoming e-mailStore Pathmessage attachment files are storedFormat: 254 charactersAttachment DataBase Web address to the incoming e-mailBase URLattachment filesFormat: 254 charactersAttachment Icon FileDirectory where the individual icon .gif filesPathfor mime encoded attachments are stored.Format: 254 charactersAttachment IconWeb address to the icon .gif filesBase URLFormat: 254 charactersDefault AttachmentIf an incoming message has an unknownIcon Namemime extension, this is the icon that will bedisplayed for this attachment.Format: 254 charactersPoll Frequency (inHow frequently the Proxy checks forseconds)incoming mailFormat: Numeric 01 to 9,999,999,999
Contact Types and Priorities
Individual contacts can be assigned a high, medium, or low priority and bump rates which determines how quickly a contact will move up the queue.

Restrictions/CharacteristicsContact TypeA word; or abbreviation to signify a contacttype, (i.e. Gold, Platinum,, Silver, etc.)Format: 50 charactersPriority (P)Initial starting point in the queueRange 01 to 100 (with 01 as the highest)Bump Rate (BR)Every N seconds the contact is bumped higherin the queueRange Up to 15 digitsBump Interval (BI)Every Bump Rate seconds moves the contactthis many steps higher up the queue.Range Up to 15 digits