+ All Categories
Home > Documents > Web Services Tr

Web Services Tr

Date post: 25-Nov-2015
Category:
Upload: israelvalverde
View: 127 times
Download: 3 times
Share this document with a friend
Popular Tags:
105
Interactive Intelligence, Inc. 7601 Interactive Way Indianapolis, Indiana 46278 Telephone/Fax (317) 872-3000 www.ININ.com Interaction Web Tools Technical Reference Interactive Intelligence Customer Interaction Center® (CIC) Version 4.0 Last updated July 12, 2013 (See Change Log for summary of change made to this document since GA.) Abstract This document contains information about Interaction Web Tools for Interaction Center 4.0. It includes the instructions necessary to install, configure, and use Interaction Web Tools. It includes a list of Interaction Web Tool handlers and their parameters. This document contains code and HTML samples throughout.
Transcript
  • Interactive Intelligence, Inc. 7601 Interactive Way

    Indianapolis, Indiana 46278 Telephone/Fax (317) 872-3000

    www.ININ.com

    Interaction Web Tools

    Technical Reference

    Interactive Intelligence Customer Interaction Center (CIC)

    Version 4.0

    Last updated July 12, 2013 (See Change Log for summary of change made to this document since GA.)

    Abstract

    This document contains information about Interaction Web Tools for Interaction Center 4.0. It includes the instructions necessary to install, configure, and use Interaction Web Tools. It includes a list of Interaction Web Tool handlers and their parameters. This document contains code and HTML samples throughout.

  • Interaction Web Tools Technical Reference 2

    Copyright and Trademark Information Interactive Intelligence, Interactive Intelligence Customer Interaction Center, Interaction Administrator, Interaction Attendant, Interaction Client, Interaction Designer, Interaction Tracker, Interaction Recorder, ION, icNotify, Interaction Mobile Office, Interaction Optimizer, and the Spirograph logo design are registered trademarks of Interactive Intelligence, Inc. Interactive Intelligence Group, Inc., Interaction Center Platform, Interaction Monitor, Customer Interaction Center, EIC, Interaction Fax Viewer, Interaction Server, Interaction Voicemail Player, Interactive Update, Interaction Supervisor, Interaction Migrator, and Interaction Screen Recorder are trademarks of Interactive Intelligence, Inc. The foregoing products are 1997-2013 Interactive Intelligence, Inc. All rights reserved. Interaction Dialer and Interaction Scripter are registered trademarks of Interactive Intelligence, Inc. The foregoing products are 2000-2013 Interactive Intelligence, Inc. All rights reserved. Messaging Interaction Center and MIC are trademarks of Interactive Intelligence, Inc. The foregoing products are 2001-2013 Interactive Intelligence, Inc. All rights reserved. e-FAQ and Interaction Director are registered trademarks of Interactive Intelligence, Inc. e-FAQ Knowledge Manager, Interaction FAQ, and Interaction Marquee are trademarks of Interactive Intelligence, Inc. The foregoing products are 2002-2013 Interactive Intelligence, Inc. All rights reserved. Interaction Conference is a trademark of Interactive Intelligence, Inc. The foregoing products are 2004-2013 Interactive Intelligence, Inc. All rights reserved. Interaction SIP Proxy and Interaction EasyScripter are trademarks of Interactive Intelligence, Inc. The foregoing products are 2005-2013 Interactive Intelligence, Inc. All rights reserved. Interaction Gateway is a registered trademark of Interactive Intelligence, Inc. Interaction Media Server is a trademark of Interactive Intelligence, Inc. The foregoing products are 2006-2013 Interactive Intelligence, Inc. All rights reserved. Interaction Desktop is a trademark of Interactive Intelligence, Inc. The foregoing products are 2007-2013 Interactive Intelligence, Inc. All rights reserved. Interaction Message Indicator, and Interaction Process Automation, are trademarks of Interactive Intelligence, Inc. Deliberately Innovative, Interaction Feedback and Interaction SIP Station are registered trademarks of Interactive Intelligence, Inc. The foregoing products are 2009-2013 Interactive Intelligence, Inc. All rights reserved. Interaction Web Portal, Interaction Analyzer, and IPA are trademarks of Interactive Intelligence, Inc. The foregoing products are 2010-2013 Interactive Intelligence, Inc. All rights reserved. Spotability and Interaction Edge are trademarks of Interactive Intelligence, Inc. 2011-2013. All rights reserved. Interaction SIP Bridge, Interaction Mobilizer, Interactive Intelligence Marketplace, Interactive Intelligence Communications as a Service, CaaS Quick Spin, and Interactive Intelligence CaaS are trademarks of Interactive Intelligence, Inc. 2012-2013. All rights reserved. The veryPDF product is 2000-2013 veryPDF, Inc. All rights reserved. This product includes software licensed under the Common Development and Distribution License (6/24/2009). We agree to indemnify the Initial Developer and every Contributor of the software licensed under the Common Development and Distribution License (6/24/2009) for any liability incurred by the Initial Developer or such Contributor as a result of any such terms we offer. The source code for the included software may be found at http://wpflocalization.codeplex.com. A database is incorporated in this software which is derived from a database licensed from Hexasoft Development Sdn. Bhd. ("HDSB"). All software and technologies used by HDSB are the properties of HDSB or its software suppliers and are protected by Malaysian and international copyright laws. No warranty is provided that the Databases are free of defects, or fit for a particular purpose. HDSB shall not be liable for any damages suffered by the Licensee or any third party resulting from use of the Databases. Other brand and/or product names referenced in this document are the trademarks or registered trademarks of their respective companies.

    DISCLAIMER INTERACTIVE INTELLIGENCE (INTERACTIVE) HAS NO RESPONSIBILITY UNDER WARRANTY, INDEMNIFICATION OR OTHERWISE, FOR MODIFICATION OR CUSTOMIZATION OF ANY INTERACTIVE SOFTWARE BY INTERACTIVE, CUSTOMER OR ANY THIRD PARTY EVEN IF SUCH CUSTOMIZATION AND/OR MODIFICATION IS DONE USING INTERACTIVE TOOLS, TRAINING OR METHODS DOCUMENTED BY INTERACTIVE.

    Interactive Intelligence, Inc. 7601 Interactive Way Indianapolis, Indiana 46278 Telephone/Fax (317) 872-3000 www.ININ.com

  • Interaction Web Tools Technical Reference 3

    Interaction Center Platform Statement This document may describe Interaction Center (IC) features that are not available or licensed in your IC product. Multiple products are based on the Interaction Center Platform, and some features are disabled or unavailable in some products. Products based on the Interaction Center Platform include: Interactive Intelligence Customer Interaction Center (CIC) Messaging Interaction Center (MIC) Since these products share some common features, this document is intended for use with all IC products, unless stated otherwise on the title page or in the context of the document.

    How do I know if I have a documented feature? Here are some indications that the documented feature is not currently licensed or available in your version: The menu, menu item, or button that accesses the feature appears grayed-

    out. One or more options or fields in a dialog box appear grayed-out or do not

    appear at all. The feature is not selectable from a list of options. If you have questions about feature availability, contact your vendor regarding the feature set and licenses available in your version of this product.

  • Interaction Web Tools Technical Reference 4

    Table of Contents Chapter 1: Introduction to Interaction Web Tools .............................8

    Audience ................................................................................................... 8 Overview ................................................................................................... 8

    Interaction Web Tools Features 9 Licensing ................................................................................................... 9

    Server Licensing 9 Client Licensing 10

    Requirements .......................................................................................... 10 IC server 10 Web Server 10 Browsers 10

    Terminology ............................................................................................ 10

    Chapter 2: Interaction Web Tools Network Architecture.................. 13 Web Server .............................................................................................. 13 Interaction Center Server ........................................................................ 13

    WebProcessor 14 WebProcessor Bridge 14 CGI Request/Response Feature 14 Database Server 14

    Visitor's Browser ..................................................................................... 14 Agents Interaction Client........................................................................ 15 Registration and Authentication .............................................................. 15

    Chapter 3: Web Servers.................................................................. 16 Tested Configurations ............................................................................. 16 Installation Summary .............................................................................. 16

    Chapter 4: Installing and Configuring Interaction Web Tools .......... 17 Web Tools Files ....................................................................................... 17 Prerequisites ........................................................................................... 17 Installation and Configuration ................................................................. 18 HTML Configuration Utility ...................................................................... 22 Reverse Proxy Directory .......................................................................... 23 Setting up SSL ......................................................................................... 25

    To use SSL between the web user and the web server 25 To use SSL between the web server and the IC server, if the web server is IIS7.5 25 To use SSL between the web server and the IC server, if the web server is Apache 26

    Language ................................................................................................. 27 Language settings 27 Using Language settings 27

    Troubleshooting the Installation ............................................................. 28 Problem Reports ...................................................................................... 31

    Chapter 5: Configuring Default Web Functionality ........................... 32

  • Interaction Web Tools Technical Reference 5

    Included Interaction Types ..................................................................... 32 Automatic Web Pages .............................................................................. 32 Handlers .................................................................................................. 32 Automatic Web Handlers ......................................................................... 33

    System_WebSearch.ihd 33 Installing and Configuring Default Web Pages ........................................ 36

    Chapter 6: Sending and Receiving Web Pages Using Handlers ......... 38 Capturing Visitor-entered Data from Your Web Site into Handlers .......... 38

    Concepts Introduced 38 Overview 38 Example 39 Command-Line Data 39 Configuring the HTML Event Initiator to Receive Command-Line Data 40

    Form Data ............................................................................................... 41 Syntax for Form Data 41 Configuring the HTML Event Initiator to Receive Form Data 42

    Creating Handlers that Send Information to a Webpage ......................... 43 Concepts Introduced 43 Overview 43 Example 44 Creating Templates 45

    Substitution Fields................................................................................... 45 Syntax for Substitution Fields 45 Configuring the Generate HTML Tool (Binding Variables to Substitution Fields) 47

    Custom HTML Events ............................................................................... 48 Attributes 49

    Web HTML Handler Parameter ................................................................. 49

    Chapter 7: Internet Tools, Initiators, and Handlers ......................... 50 Internet Handler Tools ............................................................................ 50 Initiators ................................................................................................. 51 Web-related Handlers.............................................................................. 51

    Interaction Web Tools Attributes 51

    Chapter 8: Skill-based Routing via Extended Attributes ................... 53 Overview ................................................................................................. 53 Create and Assign Agent Skills ................................................................ 53 Map Internal Skill Names to External Names ........................................... 54 Make Skill Selection Available to the Website Visitor .............................. 55 Modify Handler to Parse the Routing Context .......................................... 55

    Default Skill Categories 56

    Chapter 9: Configuring Web Services Parameters ........................... 57 Web Processor Parameters ..................................................................... 58 Web Processor Bridge Parameters .......................................................... 60 Denial of Service Parameters .................................................................. 63 Idle/Timeout Parameters ........................................................................ 65

  • Interaction Web Tools Technical Reference 6

    Chapter 10: Administering Chat ...................................................... 67 Website Visitor Requirements ................................................................. 67 How a Chat Session Works ...................................................................... 67

    Configuration Settings 67 Chat Session Flow 69 What the Visitor Sees 70 What the Agent Sees 72

    Testing the Chat Feature ......................................................................... 73 Chat Configuration and Administration.................................................... 74

    ACD Configuration 74 Agent Photo 74 Corporate Logo 75 Chat Text Format 76

    Chapter 11: Administering Callback ................................................ 77 What the Visitor Sees .............................................................................. 77

    Callback Link 77 Callback Form 78 Callback Status Page 78

    What the Agent Sees ............................................................................... 79 Testing the Callback Feature ................................................................... 80

    Chapter 12: Default Page and Customization .................................. 81 Interaction Web Tools Default Page ........................................................ 81

    Using the Interaction Web Tools Default Page 81 Customization ......................................................................................... 82

    Setting up the Examples 82 Exploring the Examples 82 BypassLoginForm 82 CallbackStatusField 83 ClickOnFlagsForDifferentLanguages 83 DifferentLayout 84 DifferentLayout2 84 Directory 84 EmbeddedWithinOtherPage 85 LocalizationCustomization 85 NoRegistrationTab 86 Notifications 86 RegistrationFormPanelFields 87

    Chapter 13: Response Management ................................................ 88 Response Libraries .................................................................................. 88 Requirements .......................................................................................... 89 What the Agent Sees ............................................................................... 90 Testing the Response Management Feature ............................................ 90 Enabling the Response Management Feature .......................................... 90

    Chapter 14: e-FAQ .......................................................................... 91 What the Agent Sees ............................................................................... 91

  • Chapter 1: Introduction to Interaction Web Tools

    Interaction Web Tools Technical Reference 7

    Requirements .......................................................................................... 92

    Chapter 15: Additional Features ..................................................... 93 Registration ............................................................................................. 93 Switchover .............................................................................................. 93

    Appendix A: Frequently Asked Questions (FAQ) .............................. 95 Security ................................................................................................... 95

    How can a web server be made secure? 95 Is SSL supported by Interaction Web Tools? 95 Where can I find out about security for Microsoft IIS users? 95 How exposed is IC Internet functionality to Windows security holes? 95 Are handler-generated webpages at risk? 96

    Web Servers ............................................................................................ 96 What web servers are supported? 96 Can the web server be on an ISP or does it have to be local to the IC server? 96 How do I configure the web components to run in a web server fault- tolerant/redundant mode? 96 Should the web server be in the same domain as the IC server? 96 How do "trust" relationships impact the web server? 97 Should the web server be inside or outside a firewall? 97

    Chat ......................................................................................................... 97 Does Chat use an IRC or proprietary communication protocol? 97 From the web server perspective, what determines a visitor session? 97 Can you diagram each step that takes place to start, establish, and maintain a Chat session? 97 Why would a website visitor see agent chat messages in a different order than they were sent? 98

    Port Numbers .......................................................................................... 98 What port numbers does Interaction Web Tools use? 98

    Appendix B: Upgrading from Interaction Web Services 3.0 to Interaction Web Tools 4.0 .............................................................. 99

    Change Log .................................................................................. 100

  • Chapter 1: Introduction to Interaction Web Tools

    Interaction Web Tools Technical Reference 8

    Chapter 1: Introduction to Interaction Web Tools

    Audience The audience for this document includes: Interaction Center (IC) Administrators who want to connect the IC server

    to a web server and to install and configure Interaction Web Tools. Webmasters who want to display custom webpages from IC or implement

    IC Chat. Handler Authors who want to write handlers that interact with people

    browsing a website. Anyone who wants to learn more about the Internet capabilities of

    Interaction Center. Note: This technical reference reflects the Interaction Web Tools functionality available in 4.0 release of Interaction Center. It includes the installation, configuration, and setup information necessary to use Interaction Web Tools.

    Overview Interaction Web Tools enable Interaction Center (IC) agents to interact with visitors to your company's website or use chat functionality to communicate with other IC agents. These tools enable handlers to send and receive information from webpages and make it possible to register and authenticate customers against the Interaction Tracker database. Interaction Web Tools support the following Interaction Client features: Web Chat: An agent can engage in text-based, one-on-one

    communication online with a customer or create a chat conference between multiple agents and a customer.

    Intercom Chat: An agent can chat online with fellow employees or a group of fellow employees.

    Callback: Your customers can visit your website and request that an agent or member of a workgroup call them back. The request is routed to the appropriate agent or workgroup.

    Response Management: Agents can use Response Management during a Chat to send pre-defined messages, URLs, or files to a customer. An agent can also use Response Management for guidance in answering a customers questions during a call made as a result of a callback request.

    e-FAQ: e-FAQ is a centrally managed database of Frequently Asked Questions and responses. If your company has the e-FAQ knowledge management program and your agents have the appropriate user rights, agents can use e-FAQ during a Chat to respond to requests for information.

    Note: If you plan to use Web Chat or Callback, a web server is required. It is not required to use Intercom Chat, Response Management, or e-FAQ.

  • Chapter 1: Introduction to Interaction Web Tools

    Interaction Web Tools Technical Reference 9

    Interaction Web Tools Features Web-Tools features include the following.

    Feature Description Callback Using this feature, a website visitor can leave a message for an

    agent to call back. After the callback request is appropriately routed to a workgroup or specific agent queue, the callback request appears in Interaction Client in a Workgroup queue or My Interaction view. When an agent picks up a callback request, a full-featured Callback window appears. This window contains the name of the person requesting the callback and the number at which an agent can contact website visitor. The agent can then call directly from the Callback window, interact with the website visitor if connected, and then mark whether the callback was successful or a failure.

    Chat Using this enhanced Chat feature, an agent can engage in text-based, one-on-one communication online with a customer or create a chat conference between multiple agents and a customer. Chats with a non-Interaction Center user such as a customer are also known as Web chats. Web chats can be recorded.

    e-FAQ e-FAQ is a centrally managed database of Frequently Asked Questions and responses. If your company has the e-FAQ knowledge management program and your agents have the appropriate user rights, agents can use e-FAQ during a Chat to respond to requests for information. Note: e-FAQ is not available in the 4.0 GA release. It is scheduled for a release in a 4.0 SU.

    Intercom Chat This basic variation of Chat, available with all IC installations, lets agents chat online with fellow employees or a group of fellow employees. Intercom chats enable agents to get an answer to a question from a fellow employee, or to pull remote agents together for a quick discussion, fostering team collaboration. Intercom chats can be recorded. Note: Interaction Client .NET users can create an Intercom chat only with other internal users that reside on the same server. Agents who want to participate in intercom chats must be assigned Intercom Chat Security rights by the IC administrator.

    Response Management Agents can use Response Management during a Chat to send pre-defined messages, URLs, or files to a customer. An agent can also use Response Management for guidance in answering a customers questions during a call made as a result of a callback request. The IC administrator can create standard responses in Interaction Administrator and make them available to Interaction Client users. In addition, Interaction Client users can create, organize, view, and use their own standardized responses. Interaction Client users can also maintain a list of favorite responses for quick access to frequently used responses. See the Interaction Client .NET Edition help for more details.

    Licensing This section summarizes the licensing requirements for Interaction Web Tools.

    Server Licensing Intercom Chat (IC agent to IC agent Chat) is included with all IC products. The other Interaction Web Tools require more licenses.

  • Chapter 1: Introduction to Interaction Web Tools

    Interaction Web Tools Technical Reference 10

    The full functionality of Interaction Web Tools is available for Interactive Intelligence Customer Interaction Center (CIC) only. It requires the CIC Advanced Server license or the Interaction Web Services add-on license.

    Client Licensing Interaction Client .NET Edition users need the Client Access license or ACD Access license.

    Requirements

    IC server Interaction Web Tools 4.0 requires an Interaction Center 4.0 server.

    Web Server In a production environment, run the web server on a different machine than the IC server. Supported web servers are listed on the Interactive Intelligence Testlab site. See http://testlab.inin.com/ProductsPage.aspx?ProductType=14.

    Browsers Browsers supported for your website visitors are also listed on the Interactive Intelligence Testlab site. See http://testlab.inin.com/ProductsPage.aspx?ProductType=36.

    Terminology The following table contains terms, together with their definitions, that you encounter throughout this manual.

    Term Definition Agent A representative of your company who communicates with visitors

    using Interaction Web Tools and Interaction Client .NET Edition. Binding Binding is the process that matches string variables in a handler

    with substitution fields in an HTML template. You can bind string and list-of-string variables to a substitution field.

    CGI (Common Gateway Interface)

    CGI is a standard for external gateway programs to interface with information servers, such as HTTP or web servers. A plain HTML document that the web server retrieves is static. A CGI program (or script), on the other hand, executes in real-time so that it can output dynamic information. It is the common gateway or door used by the server to interface or communicate with applications other than the browser. CGI scripts act as a link between a needed application and the server, while the server is responsible for receiving information from, and sending data back to, the browser.

    Chat session A Web Chat is real-time typed conversation between two or more parties over the Internet. Chat sessions take place between a visitor browsing your website and an Interaction Client user. Intercom chats take place between Interaction Client users. Alerting Chat sessions show up in My Interactions or workgroup queue - just like telephone calls.

    Command-line parameter Any additional information sent with an event. The HTML initiator extracts the command-line parameter values from the event.

    Customer The company that purchased Interactive Intelligence Customer Interaction Center (CIC).

    Custom webpage An HTML document containing information processed within a handler

  • Chapter 1: Introduction to Interaction Web Tools

    Interaction Web Tools Technical Reference 11

    Term Definition Generate HTML tool Sends a webpage to a person browsing your website over the web

    connection extracted by the HTML initiator. Handlers The flowchart-like programs, created and published in the

    Interaction Designer, that define how to manipulate communications.

    HTML event initiator The initiator is the first step in a handler. It waits for a specific type of event to occur. When that event occurs, the Interaction Processor starts an instance of any handler with an initiator configured for that event. Their configuration causes HTML initiators to start Interaction Web Tools from within a webpage.

    HTML template HTML templates are HTML documents specified in a Generate HTML tool. HTML templates can contain substitution fields. Substitution fields in a template allow you to pass string values looked up in a handler into a webpage sent to a visitor browsing your website. Templates are stored in the Windows registry.

    HTTP cookie A packet of information sent by a web server to a web browser and then sent back by the browser each time it accesses that server. Interactive Intelligence Customer Interaction Center (CIC) or cookies containing contact information entered by a person browsing your website. Several handlers parse information from the cookie when a Chat session starts. This information tells an Interaction Client Chat participant about the other participant.

    IC server This IC component runs handlers, and manages and monitors all communications.

    Static webpage An unmodified HTML document. Substitution field This field is a placeholder within an HTML template into which you

    can pass string values from a handler. A substitution field starts with a ##I3 tag and ends with a ## tag.

    Visitor A person from outside your company who visits your website and uses Interaction Web Tools to interact with your Agents.

    Web server The web server is a server process running at a website that sends out webpages in response to HTTP requests from remote browsers. Interaction Web Tools enables communication between your web server and your IC server. This communication includes sending webpages, receiving information submitted through a webpage and implementing the Interaction Web Tools interactions.

    Interaction Web Tools Web-based features that enable Interaction Center agents to interact with visitors to your company's website, and the ability of handlers to send and receive information from webpages.

    Web HTML Plugin When called from a web page, the Web HTML plugin sends an HTML event that contains customer data to the IP web handler. For more information, see Capturing Visitor-entered Data from Your Web Site into Handlers on page 38.

  • Chapter 1: Introduction to Interaction Web Tools

    Interaction Web Tools Technical Reference 12

    Term Definition WebProcessor The executable program, WebProcessorU.exe, runs on the IC server

    and passes information between the WebProcessor Bridge and the other IC components. This application owns the chats and callbacks. It creates the interactions, taking the text that party A types and sending it to party B, and so on. It makes no distinction between internal parties (Interaction Client users) and external parties (website visitors or other non-IC users). It is indifferent to the technology employed by the interaction participants; it does not need to be web-based communication. In a chat between a website visitor and an Interaction Client user, JavaScript running in a visitors browser sends data to the WebProcessor Bridge. The WebProcessor Bridge, in turn, sends it to the WebProcessor. The WebProcessor passes information to other Interaction Center components which communicate with an agents Interaction Client. In an Intercom chat session between two or more Interaction Client users, an agents Interaction Client passes information to Interaction Center components. These components forward it to the WebProcessor. The WebProcessor, in turn, passes the information via other Interaction Center components to another Interaction Client user.

    WebProcessor Bridge The executable program, WebProcessorBridgeU.exe, is the bridge between web HTTP text transfer protocol and the internal WebProcessor protocol. In a typical usage scenario, the client sends the messages to a Web server in the customers DMZ (demilitarized zone). This Web server then functions as a reverse proxy to WebProcessor process running on the IC server which is inside the firewall. These requests can be in XML or JSON format. XML requests receive responses in XML; JSON requests receive responses in JSON. If an agent sends a file to a visitor, it is placed in a sandbox on the server which runs WebProcessorBridgeU.exe. It can be retrieved via a typical HTTP request.

  • Chapter 2: Interaction Web Tools Network Architecture

    Interaction Web Tools Technical Reference 13

    Chapter 2: Interaction Web Tools Network Architecture This chapter covers the Interaction Web Tools architecture and discusses the roles of the different servers and of the customer's browser. Note: In a production environment, do not install the Web server and IC server on the same computer. The following illustration shows the architecture of the Interaction Web Tools network. It consists of the following computers:

    Interaction Web Tools Network Architecture

    Web Server The Web server runs Microsoft IIS or other compatible Web server software and connects to the IC server over port 3508 (HTTPS) and 8114 (HTTP). Note: The default port numbers are 3508 and 8114, but you can configure other port numbers. You can enable either HTTPS or HTTP or both. In 3.0 communication was in binary data, but in 4.0, communication is conducted via simple HTTPS or HTTP traffic.

    Interaction Center Server The IC server runs various other subsystems including WebProcessor, WebProcessor Bridge, handlers, Queue Manager, and Interaction Processor. The visitors browser tells Interaction Web Tools to send data, to create and manage chats and callback requests on agent and workgroup queues, and (optionally) to create visitor registration records.

  • Chapter 2: Interaction Web Tools Network Architecture

    Interaction Web Tools Technical Reference 14

    Interaction Web Tools is similar to Telephony Services. The difference is that it generates and controls Web interactions instead of telephone interactions. The WebProcessor Bridge communicates to the WebProcessor on the IC server to create and manipulate objects and events.

    WebProcessor Sends requests to other IC components. Manages Intercom Chats between internal, Interaction Client users

    residing on the same IC server. Creates and controls Web Chat sessions between non-Interaction Client

    users and your agents.

    WebProcessor Bridge Registers visitors by creating Interaction Tracker records. Authenticates customers by looking up their visitor name and password

    in the Interaction Tracker tables. Manages Callback Requests started by visitors to your website.

    CGI Request/Response Feature The CGI plug-in is a separate HTTP protocol that is automatically installed with Interaction Web Tools. This plug-in resides on the IC server. It processes CGI requests and responses between the Web Server and the IC server. For example, you can employ a custom handler to enable your website visitors to query a particular agents availability before starting a Chat or making a Callback request. 1. A CGI request is sent from the Web server to the CGI plug-in on the IC

    server. 2. The IC server invokes a custom handler which processes the request. 3. The result is passed to the CGI plug-in which formulates a CGI

    response and sends it to the Web server. 4. The Web server forwards the response to the visitor.

    Database Server When visitors register on your website, their registration information is stored in Interaction Tracker tables. These tables are created during the database configuration portion of the IC install during which you select a reporting package to create these tables.

    Visitor's Browser Visitors connect to your website and start Web interactions. The interactions are queued and processed similarly to telephone calls, including ACD processing. You can enable access to one or more interaction types either through the default released version of handlers, or through custom pages that adopt your site's look and feel. Note: You can create software to send the same types of messages that the visitors browser sends in a standard installation and start Web interactions. This functionality can be included in your custom applications. See the

  • Chapter 2: Interaction Web Tools Network Architecture

    Interaction Web Tools Technical Reference 15

    Interaction Web Tools Developers Guide for information on customizing the IC Web Tools user interface.

    Agents Interaction Client Through the Interaction Client, agents can monitor and control the various Web interaction types and manage the customer's visit to your site. These actions are achieved through the following features: Chat Web Callback request Response Management

    Registration and Authentication Interaction Web Tools registers and authenticates visitor information it stores in Tracker tables on the IC server. Tracker tables are created as part of the database configuration when you run Setup Assistant.

  • Chapter 3: Web Servers

    Interaction Web Tools Technical Reference 16

    Chapter 3: Web Servers A web server is required to use Interaction Web Tools. Interaction Web Tools supports a broad spectrum of web servers and operating systems.

    Tested Configurations This section describes tested configurations. The basic requirement for the web server is to manage a reverse proxy of the AJAX calls from the JS client. If you use a web server that we have not tested, it is your responsibility to ensure that your configuration supports this functionality.

    Note: See the latest tested web servers for CIC 4.0 on the Interactive Intelligence Testlab site: http://testlab.inin.com/ProductsPage.aspx?ProductType=14.

    Operating System Web Server

    Microsoft Windows 2008 R2, SP1 Microsoft IIS 7.5

    Microsoft Windows 2008 Server SP1, 32-bit OS Apache 2.2 (2.2.17 verified)

    Installation Summary This section summarizes the installation process required on the Web server to enable it to run Interaction Web Tools. Note: The WebProcessor, WebProcessor Bridge, and the Interaction Web Tools plug-in for Interaction Administrator are installed automatically on the IC server during the IC server install. To install Interaction Web Tools on the Web Server: 1. Install Interaction Center on your IC server. 2. Install and configure your Web server according to the vendor's

    instructions. 3. Unzip the Web Services files from the IC server shared directory,

    IC_WebServicesChat, to the web server. 4. Perform the necessary configuration in Interaction Administrator. 5. To designate your website, select connection type, and choose the target

    queues for Chats and Callbacks, run the Interaction Web Tools Configuration utility.

    6. Configure your web server to manage a Reverse Proxy. 7. Test your installation.

    This table indicates where you can find the appropriate Interaction Web Tools installation instructions:

    Web Server environment

    Interaction Web Tools installation

    Installation documentation

    Windows OS with IIS Web server

    Interaction Web Tools install

    See Chapter 4: Installing and Configuring Interaction Web Tools in this document.

    Windows OS with Apache Web server

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 17

    Chapter 4: Installing and Configuring Interaction Web Tools The following steps take you through installing Interaction Web Tools on a Microsoft IIS or Apache Web Server with the Interaction Web Tools install.

    Web Tools Files The required Web Tools files are placed in a share on the IC server during the IC server Installation. (See the IC Installation and Configuration Guide for detailed instructions on installing the IC server.) These files are placed in \\icservername\IC_WebServicesChat. WebSvcsConfiguration.zip

    This file contains the files necessary to run the Interaction Web Tools Configuration Utility.

    WebSvcsExamples.zip This file contains examples that walk you through the process of customizing the chat and callback controls and forms you can use on your website. These controls and forms enable your website visitors to request a chat or open a callback request. See Chapter 12: Default Page and Customization on page 81 for details.

    WebSvcsI3Root.zip This file contains HTML, JavaScript, and PNG files in various subdirectories that make chats and callbacks work out of the box with a standard look and feel. Place these files in the I3Root directory underneath your websites root directory. See Installation and Configuration on page 18. Note: You can place the files in another directory, but if you set up a reverse proxy, edit index.html to make it work. See Reverse Proxy Directory on page 23.

    Prerequisites The following prerequisites must be met before installing Interaction Web Tools on a web server that meets the requirements listed on the Interactive Intelligence Testlab site. See http://testlab.inin.com/ProductsPage.aspx?ProductType=14. TCP/IP protocol must be present and optionally, the SNMP service. A dedicated and configured communications port.

    By default, Interaction Web Tools uses SSL on port 3508. You can change the port to whatever number you want. You can even run with SSL on one port and without SSL on another port simultaneously. Tip: To ensure that a specific port is not already in use, at the command prompt, type netstat a. The system lists all the ports in use, including the listening ports.

    Microsoft .NET Framework 4.0 is required for the Interaction Web Tools Configuration Utility. Note: Microsoft .NET Framework is not required for using Interaction Web Tools. You can edit the configuration file in an ASCII editor like Notepad.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 18

    Installation and Configuration Complete the following steps on the Web server, not the IC server. The installer must log on as an administrator on the server. Note: The instructions following step 4 assume that you are using IIS 7.5. To install Interaction Web Tools: 1. Set up a 4.0 IC server. Make a note of its host name or IP address.

    Note: For the rest of this document, any time you see ICServer, substitute this host name or IP address.

    2. On the IC server, in Interaction Administrator: a. Select Workgroups. b. Select or create a workgroup. c. In the Workgroup Configuration dialog box, on the Configuration tab,

    select the Workgroup has Queue check box, then select ACD from the drop-down list Note: This configuration creates a queue that is able to receive ACD Chats and Callbacks.

    d. In the Workgroup Configuration dialog box, select the ACD tab and ensure that Max Assign is >= 1 for Chats and Callbacks.

    3. To create Chats or Callback Requests to more than one queue, repeat step 2 in Interaction Administrator for the additional queues. See the extra instructions in the readme.html file in the Directory folder in WebSvcsExamples.zip. Tip: See \\ICServer\IC_WebServicesChat\WebSvcsExamples.zip\Directory.

    4. Find a machine to use as the web server. Make note of the web server's host name or IP address. Note: For the rest of this document, any time you see substitute this host name or IP address. For testing purposes, this machine can be the IC server. In a production environment, use a separate machine.

    5. On the web server, open Internet Explorer and go to http://www.iis.net/download/applicationrequestrouting. Download and install Application Request Routing. (Version 2.5 is current as of this writing.) Note: If you are configuring an Apache web server, consult the Apache documentation to set up a reverse proxy.

    6. Locate three zip files at \\ICServer\IC_WebServicesChat. Their names are: WebSvcsConfiguration.zip, WebSvcsI3Root.zip, and WebSvcsExamples.zip.

    7. Unzip these files into the web root directory of your web server (most likely C:\inetpub\wwwroot) so that the contents of each zip file (not the folders containing the contents) are all located in the web root directory.

    8. Run I3WebServicesConfigUtility.exe. Note: You just unzipped it from WebSvcsConfiguration.zip. If you are using an operating system not based on Windows, hand-edit config.js in any text editor or use configuration.html in place of I3WebServicesConfigUtility.exe. See HTML Configuration Utility on page 22. Result: The Select Config File dialog box appears.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 19

    9. Select I3Root/js/config.js and click Open. Result: The Interaction Web Tools Configuration Utility dialog box opens. Tip: Check behind previously open windows or dialog boxes.

    10. Make the following selections:

    a. Sites: Do not change this setting. It defaults to the full path and file name of the configuration file selected in the previous step.

    b. Number of IC servers: Choose 2 if you are using Switchover, otherwise 1.

    c. Secure Connection: Select this If web users access Interaction Web Tools using HTTPS, select this check box. If they access it using HTTP, clear this check box.

    d. Default Language: Select the language of last resort in which the logon, chat, and callback forms appear to your website visitors. Note: This setting is used only if there is no match between other language settings and the languages in which pages are available on the web server. See Language on page 27 for information about the settings that can affect the language in which these forms appear.

    Tip: This setting does not affect the language in which Handler text appears (that is, Welcome to IC and Alerting John Doe) without Handler customization. Also, it doesnt affect anything the agent sees (other than system text provided by customized handlers.) Finally, this language setting does not cause a chat interaction to route to an agent with a particular language skill unless Handler customizations are made.

    e. Interaction Type: Select the interaction types you want Interaction Web Tools to support.

    f. In the Chat and Callback sections: i. Target: Select the Workgroup or User queue for this interaction

    type. You can specify the same queue for both interaction types. Note: If you dont want to use ACD, specify a User queue as the target.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 20

    ii. Target Type: Select the appropriate queue type. g. Click Save & Close.

    Note: The file is saved as webroot directory\I3Root\js\config.js 11. On the IC server, in Interaction Administrator:

    a. Select System Configuration. b. Select Web Services. c. Double-click Configuration.

    Result: The Web Services Configuration dialog box appears. Note: This setting specifies the port numbers used by the WebProcessor Bridge running on the IC server. If they are not specified, the port numbers default to 8114 (HTTP) and 3508 (HTTPS).

    d. Do either or both of the following:

    Check Enable HTTP and select a port number. Check Enable HTTPS and select a port number.

    12. On the IC server, in IC System Manager, stop and restart WebProcessorBridge.

    13. If using Switchover, stop and restart WebProcessorBridge on the backup IC server.

    14. On the web server, use Windows Explorer to create webroot directory\I3Root\Server1. Example: C:\inetpub\wwwroot\I3Root\Server1. Note: The following steps create the web.config file in this directory. Use Server1 and Server2 (if using switchover) as the subdirectory names. You can unzip the WebSvcsI3Root.zip files to a location other than the I3Root directory underneath your websites root directory. However, if the reverse proxy points to a directory other than \I3Root\Server1 (and \I3Root\Server2, if using switchover), hand-edit index.html to make the reverse proxy work. See Reverse Proxy Directory on page 23. Tip: If using an Apache web server, this step can probably be skipped.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 21

    15. On the web server, open IIS Manager (in Administrative Tools). a. In the Connections navigation pane, under Sites, locate

    webroot directory/I3Root/Server1. Note: If you have multiple websites on your web server, webroot directory is the root directory for the website where you install Interaction Web Tools.

    b. In the middle pane, under IIS, double-click URL Rewrite. c. Click Add Rule(s) in the Actions pane on the right. d. In the Add Rules dialog box, under Inbound and Outbound Rules,

    select Reverse Proxy and click OK. e. In the Add Reverse Proxy Rules dialog box, type ICServer in the Enter

    the server name or the IP address where HTTP requests will be forwarded text box.

    f. Do one of the following: If using SSL for the connection between the web server and the IC

    server, select the Enable SSL OffLoading check box. If not using SSL, clear this check box.

    Note: If using SSL, be sure to use the fully qualified domain name (for example, abc-ic1.company.com) and not the host name (abc-ic1) and not the IP address.

    g. Click OK. Result: A new rule, probably called ReverseProxyInboundRule1, is created.

    h. In the center section of the Internet Information Services (IIS) Manager window, double-click the rule you just created.

    i. In the Action Properties section of the Edit Inbound Rule pane, in the Rewrite URL text box, you see http://ICServer/{R:1}. Add the appropriate port number by doing one of the following: Change the property to http://ICServer:8114/{R:1}. If using SSL, change the property to https://ICServer:3508/{R:1}.

    Note: See Setting up SSL on page 25. j. In the Actions pane, click Apply.

    16. Optionally, if you have both an HTTP port (8114) and an HTTPS port (3508) open on the IC server, you can create two URL Rewrite rules. Add a condition to each that directs selected traffic from the web server to a specific port on the IC server. Note: Without conditions, traffic is directed to the port specified in the rule. With conditions, the applicable condition redirects the traffic. Here is an example that redirects web server traffic based on the URL used by your website visitor. a. Create two URL Rewrite rules by following the instructions in step 14

    twice. Create one rule for the IC servers HTTP port and a second for the HTTPS port.

    b. Edit the rule that directs traffic to the HTTP port (8114). i. Expand the Conditions section of the Edit Inbound Rule pane. ii. Click Add. iii. In the Add Condition dialog box, in the Condition Input text

    box, type HTTPS.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 22

    iv. In the Pattern text box, type Off. Note: This setting directs HTTP traffic to the port specified in the rule.

    v. Click OK. c. Edit the rule that directs traffic to the HTTPS port (3508).

    i. Expand the Conditions section of the Edit Inbound Rule pane. ii. Click Add. iii. In the Add Condition dialog box, in the Condition Input text

    box, type HTTPS. iv. In the Pattern text box, type On.

    Note: This setting directs HTTPS traffic to the port specified in the rule.

    v. Click OK. 17. If using Switchover, do the following:

    a. Create a directory called (webroot directory)/I3Root/Server2. b. In IIS Manager, repeat steps 14 and 15. Create a Reverse Proxy rule or

    rules for that directory, but specify the hostname or IP address of the other IC server.

    18. Configure IIS to treat "index.html" as an acceptable name for the default document or rename index.html to default.htm. To set index.html as the default document: a. In IIS Manager, still under Sites in the I3Root/server1 Home view,

    under IIS, select Default Document. b. In the Actions pane on the right, click Add. c. In the Add Default Document dialog box, in the Name text box, type

    index.html and click OK. 19. Exit IIS Manager. 20. Open a browser and go to http://webserver/I3Root and create a Chat or

    Callback. Tip: See Testing the Chat Feature on page 73 or Testing the Callback Feature on page 80.

    HTML Configuration Utility If you are using a non-Windows operating system, you can use configuration.html in place of I3WebSvcsConfiguration.exe in the Installation and Configuration procedure starting on page 18. To use the HTML Configuration Utility: 1. In a browser, open configuration.html.

    Tip: The file is located in the directory where you unzipped WebSvcsConfiguration.zip.

    2. If necessary, click the Allow blocked content button to enable the webpage to run scripts and ActiveX controls.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 23

    3. In the Sites webroot text box, type the webroot directory path.

    Example: C:/inetpub/wwwroot. 4. Click Load. 5. Make the selections described in step 10 of the Interaction Web Tools

    Installation and Configuration procedure. (See page 19.) 6. Click Generate Configuration. 7. Resume the Interaction Web Tools Installation and Configuration procedure

    at step 10.

    Reverse Proxy Directory If you installed WebSvcsI3Root.zip to a directory other than an I3Root directory underneath your websites root directory and set up a reverse proxy to point to somewhere other than \I3Root\Server1 (and \I3Root\Server2, if using switchover), hand-edit index.html to make the reverse proxy work. Locate these lines in index.html:

    var params = { "currentUriFragment" : ININ.Web.Chat.UI.ConfigConversions.convertICServerCountToCurrentUriFragment(ININ.Web.Chat.Config.ICServerCount), "uriFragments" : ININ.Web.Chat.UI.ConfigConversions.convertICServerCountToUriFragments(ININ.Web.Chat.Config.ICServerCount), "pageMode" : ININ.Web.Chat.UI.ConfigConversions.convertInteractionTypesToPageMode(ININ.Web.Chat.Config.InteractionTypes), "chatTarget" : ININ.Web.Chat.Config.ChatTarget, "chatTargetType" : ININ.Web.Chat.Config.ChatTargetType, "callbackTarget" : ININ.Web.Chat.Config.CallbackTarget, "callbackTargetType" : ININ.Web.Chat.Config.CallbackTargetType, "defaultLanguageCode" : ININ.Web.Chat.Config.DefaultLanguageCode, "useHttps" : ININ.Web.Chat.Config.UseEncryption /* "customInfo" : null, "chatFollowupUrl" : null, "callbackAttributes" : null, "callbackRoutingContext" : null */ };

    ININ.Web.Chat.UI.Page.load(params);

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 24

    Example 1: If instead of setting up the reverse proxy at /I3Root/Server1, you put it at /SomeDirectory/ICProxy, and are not using switchover,

    change "currentUriFragment" : ININ.Web.Chat.UI.ConfigConversions.convertICServerCountToCurrentUriFragment(ININ.Web.Chat.Config.ICServerCount)

    to "currentUriFragment" : "/SomeDirectory/ICProxy",

    And also change "uriFragments" : ININ.Web.Chat.UI.ConfigConversions.convertICServerCountToUriFragments(ININ.Web.Chat.Config.ICServerCount)

    to "uriFragments" : ["/SomeDirectory/ICProxy" ],

    var params = { "currentUriFragment" : "/SomeDirectory/ICProxy", "uriFragments" : ["/SomeDirectory/ICProxy" ], "pageMode" : ININ.Web.Chat.UI.ConfigConversions.convertInteractionTypesToPageMode(ININ.Web.Chat.Config.InteractionTypes), "chatTarget" : ININ.Web.Chat.Config.ChatTarget, "chatTargetType" : ININ.Web.Chat.Config.ChatTargetType, "callbackTarget" : ININ.Web.Chat.Config.CallbackTarget, "callbackTargetType" : ININ.Web.Chat.Config.CallbackTargetType, "defaultLanguageCode" : ININ.Web.Chat.Config.DefaultLanguageCode, "useHttps" : ININ.Web.Chat.Config.UseEncryption /* "customInfo" : null, "chatFollowupUrl" : null, "callbackAttributes" : null, "callbackRoutingContext" : null */ };

    ININ.Web.Chat.UI.Page.load(params);

    Example 2: If you are using switchover, and the reverse proxy to the primary IC server is at /SomeDirectory/ICProxy, and the reverse proxy to the second IC server is at /SomeDirectory/ICProxy_B, change:

    change "currentUriFragment" : ININ.Web.Chat.UI.ConfigConversions.convertICServerCountToCurrentUriFragment(ININ.Web.Chat.Config.ICServerCount)

    to "currentUriFragment" : "/SomeDirectory/ICProxy",

    And also change "uriFragments" : ININ.Web.Chat.UI.ConfigConversions.convertICServerCountToUriFragments(ININ.Web.Chat.Config.ICServerCount)

    to "uriFragments" : ["/SomeDirectory/ICProxy_B" ],

    var params = { "currentUriFragment" : "/SomeDirectory/ICProxy", "uriFragments" : ["/SomeDirectory/ICProxy", "/SomeDirectory/ICProxy_B" ], "pageMode" : ININ.Web.Chat.UI.ConfigConversions.convertInteractionTypesToPageMode(ININ.Web.Chat.Config.InteractionTypes), "chatTarget" : ININ.Web.Chat.Config.ChatTarget, "chatTargetType" : ININ.Web.Chat.Config.ChatTargetType, "callbackTarget" : ININ.Web.Chat.Config.CallbackTarget, "callbackTargetType" : ININ.Web.Chat.Config.CallbackTargetType, "defaultLanguageCode" : ININ.Web.Chat.Config.DefaultLanguageCode, "useHttps" : ININ.Web.Chat.Config.UseEncryption /* "customInfo" : null, "chatFollowupUrl" : null, "callbackAttributes" : null, "callbackRoutingContext" : null */ };

    ININ.Web.Chat.UI.Page.load(params);

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 25

    Setting up SSL You can use SSL for the front-end connection from the web user to the web server, or for the back-end connection from the web server to the IC server. Or you can use SSL for both the front and back-end connections, or for neither. The configuration settings for these connections are independent of each other. See the diagram in Chapter 2: Interaction Web Tools Network Architecture on page 13.

    To use SSL between the web user and the web server Enable this according to your web server software's instructions. Pay particular attention to these points:

    In the Interaction Web Tools Configuration Utility, Secure Connection refers to this front-end connection between the web browser and the web server. If web users access Interaction Web Tools using HTTPS, select Secure Connection. If they access it using HTTP, clear the Secure Connection checkbox. See Secure Connection on page 19.

    If you changed settings in config.js and deployed examples, recopy C:\inetpub\wwwroot\i3root\js\config.js into each example's "js" directory. See Web Tools Files on page 17.

    To use SSL between the web server and the IC server, if the web server is IIS7.5

    Note: Nothing in the following steps requires you to use the Interaction Web Tools Configuration Utility (I3WebServicesConfigUtility.exe). 1. In Interaction Administrator, select System Configuration, then

    select Web Services. Double-click Configuration. Ensure that the Enable HTTPS checkbox is selected. When using HTTPS, it is usually desirable to clear the Enable HTTP checkbox.

    2. Ensure that, via DNS or the web server's hosts file (C:\windows\system32\drivers\etc\hosts), the web server can refer to the IC server using the IC server's hostname.

    3. Ensure that the Reverse Proxy configuration was done using the IC server's hostname, not its IP address.

    4. Find the CA certificate on the IC Server. It is located in D:\I3\IC\Certificates\ServerGroup\ServerGroupCertificate.cer. Note: If the IC Server's hostname has changed since the certificate was generated, regenerate the certificate before following the remaining steps in this procedure.

    5. Copy ServerGroupCertificate.cer to the web server's file system. Do not place it in a location that is visible via the web.

    6. Import the certificate to the web server. i. On the web server, from the Windows Start menu, select Run. In

    the Run dialog box, type mmc, and click OK. ii. In the Console window, from the File menu, select

    Add/Remove Snap-in. iii. In the Add or Remove Snap-Ins dialog box, from the Available

    snap-ins list, select Certificates and click Add. iv. In the Certificate snap-in dialog box, select Computer Account

    and click Next.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 26

    v. In the Select Computer dialog box, select Local computer and click Next.

    vi. In the Certificate snap-in dialog box, select Finish. vii. In the Add or Remove Snap-Ins dialog box, click OK. viii. In the Console window, in the left pane, expand Certificates,

    expand Trusted Root Certification Authorities, and then click the Certificates node that is a child of Trusted Root Certification Authorities.

    ix. Right-click this lower Certificates node and select All Tasks, then select Import.

    x. In the Certificate Import Wizard, click Next, In the File to Import page, browse to the CA certificate on the IC Server and click Open.

    xi. Back in the Certificate Import Wizard, in the File to Import page, click Next.

    xii. In the Certificate Store page, click Next. xiii. In the Completing the Certificate Import Wizard page, click

    Finish. xiv. In the Import was successful dialog box, click OK.

    Result: The Microsoft Management Console Save console settings to Console1? message appears.

    xv. Close the Microsoft Management Console. There is no need to save console settings.

    To use SSL between the web server and the IC server, if the web server is Apache

    Note: Nothing in the following steps requires you to use the Interaction Web Tools Configuration Utility (I3WebServicesConfigUtility.exe). 1. In Interaction Administrator, select System Configuration, then

    select Web Services. Double-click Configuration. Ensure that the Enable HTTPS checkbox is selected. When using HTTPS, it is usually desirable to clear the Enable HTTP checkbox.

    2. Ensure that, via DNS or the web server's hosts file, the web server can refer to the IC servers hostname. Tip: A Windows hosts file is C:\windows\system32\drivers\etc\hosts. A Unix hosts file is /etc/hosts.

    3. Edit \conf\httpd.conf: i. Uncomment the following lines. They are near each other, but not

    necessarily consecutive: LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule ssl_module modules/mod_ssl.so

    ii. Add the following (if in doubt, add to either the bottom of the file, or within the applicable directive):

    ProxyPass /I3Root/Server1/ https://ICServer:3508/ ProxyPassReverse /I3Root/Server1/ https://ICServer:3508/ SSLProxyEngine on

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 27

    4. If using Switchover, also add ProxyPass and ProxyPassReverse directives mapping /I3Root/Server2 to the other IC server.

    5. Restart Apache.

    Language One of the following settings determines the language in which the login, chat, and callback forms appear to your visitors. Note: Interaction Web Tools supports IME for the entry of Asian characters on a Latin keyboard.

    Language settings These settings are evaluated in this order of highest to lowest priority: 1. An override value. For example, a visitor clicking an image of the

    French flag on your companys website can determine this value. Tip: See the ClickOnFlagsForDifferentLanguages JavaScript example provided in WebSvcsExamples.zip.

    2. The visitors browser language setting. 3. The visitors OS language settings. 4. The default language specified in the Interaction Web Tools

    Configuration Utility during the Installation and Configuration process. See page 19.

    Note: If you modify config.js manually, be aware that language code tags are all lower case. For example, if you replace en-us with the more commonly accepted de-CH rather than de-ch, the Language Code Converter compares it to de-ch. The comparison fails and the language defaults to English.

    Using Language settings Handler text: If a matching language pack is on the IC server and

    Handler customization is done, the first valid setting for which IC can locate a resource file becomes the language in which Handler text appears. The selected language is passed to the WebProcessor Bridge.

    Chat request routing: If Handler customization is done, the chat can be routed to an agent with a language skill matching the first valid language setting for which IC can locate a resource file. (A matching language pack not necessary for Chat request routing.)

    Webpages only: If no Handler customization is done, language settings affect only the language in which the visitors web page is shown (the text on the Send button, etc.). Handler text and the actual content of the chat are not affected. Example: A visitor sees the web page in French, but Welcome to IC! in English. An agent then types Hello, may I help you? in English, and then the Visitor has to type, Parlez-vous Francais? in order to indicate to the agent that they would like to proceed in French.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 28

    Troubleshooting the Installation These instructions step you through checking typical problems in configuration and with the IC server and your firewall. Note: Use Firefox or Chrome, not Internet Explorer, as your browser where needed in these troubleshooting instructions. 1. In Interaction Administrator, in the Web Services Configuration dialog box,

    do one of the following or both: Verify that Enable HTTP is checked and the HTTP port is 8114.

    Note: if you want to use a different port for HTTP, change the URL in the following step to use that port.

    And/or If you prefer to use HTTPS, verify that Enable HTTPS is checked and

    the HTTPS port is 3508. Note: if you want to use a different port for HTTPS, change the URL in the following step to use that port.

    2. On the IC server, in IC System Manager, stop and restart WebProcessorBridge.

    3. Open your web browser on the web server. Do one or both of the following, depending on whether you selected HTTP or HTTPS or both in Interaction Administrator, open: http://icservername:8114/websvcs/serverConfiguration or https://icservername:3508/websvcs/serverConfiguration Note: If you are using HTTPS and see a certificate warning, ignore it. If you are using different port numbers, change the URL to use that port. Result: If you see some XML. Go to the next step. If not, there is a problem with either IC or the firewall. Repeat this step, your browser on the IC server. If you still do not see any XML, verify that WebProcessorBridge and

    WebProcessor are running. Verify your settings in Interaction Administrator. Restart WebProcessorBridge and WebProcessor. Repeat this step.

    If XML appears when running your browser on the IC server, but not when running it on the web server, its a firewall problem. Change the firewall so that traffic on port 8114 or 3508 is allowed through, depending on whether you are using HTTP or HTTPS. Allow traffic only from the web server, not from everywhere.

    4. If you verified in step 3 that the IC server and firewall are working correctly, the problem is most likely something to do with the reverse proxy configuration. Or, if using HTTPS, the problem could be with certificates. Go to one of the following: http://webserver/I3Root/Server1/websvcs/serverConfiguration Or https://webserver/I3Root/Server1/websvcs/serverConfiguration. Result: You see the same XML. If not, you could see error 502 or error 502.3. Verify everything that you did to configure the reverse proxy. (See the IIS Manager part of the installation procedure on page 21.) Check the following:

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 29

    Apply the reverse proxy to Server1 and Server2, if using switchover, instead of some other directory like Default Web Site.

    Check encryption settings by verifying the value of UseEncryption in i3root/js/config.js. Important: This value is independent of whether the back-end connection (web server to IC) uses HTTP or HTTPS.

    Visitor accesses website via

    Encryption setting in config.js

    HTTP UseEncryption set to False.

    HTTPS UseEncryption set to True.

    If you are using IIS, be sure to add an empty Server1 folder in your C:/inetpub/wwwroot/I3Root directory. Add Server2 also, if using switchover. Note: This folder allows the reverse proxy instructions to be completed successfully.

    If you installed the web server on the same machine as your IC server, for the reverse proxy setup, use "localhost" instead of the machine's name or IP address.

    5. If the problem is still not resolved: a. For Firefox, install Firebug from http://getfirebug.com/.

    Note: For Chrome, you do not need to install anything. Proceed with the remaining steps.

    c. Press F12. Result: In Firefox, this displays the Firebug plugin. In Chrome, this displays the built-in Developer Tools console.

    c. Enable the Net and Console tabs, and reload one of the following: http://webserver/I3Root/Server1/websvcs/serverConfiguration Or https://webserver/I3Root/Server1/websvcs/serverConfiguration

    d. If the attempt to load serverConfiguration uses HTTPS and everything else uses HTTP (or the reverse), or if you see OPTIONS serverConfiguration rather than GET serverConfiguration, then re-examine i3root/js/config.js. See step 4.

    e. Check the Console tab for anything printed in red, especially if you have customized the JavaScript. JavaScript errors appear in red text.

    6. If using HTTPS on the back-end connection (web server to IC server) and none of the previous steps fixed the problem, its probably a certificate issue. Ensure that the web server trusts the IC server. a. Revisit the installation steps concerning importing the certificate. The

    easiest way is to make the web server trust the Certification Authority that issued the IC servers certificate.

    b. Ensure that the web server is referencing the IC server via its fully qualified domain name, not just by its hostname or its IP address.

    7. Examine log message for any text in red or the word Exception. To obtain log messages from the chat software running in the visitors browser:

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 30

    a. If you are using Firefox and have not already installed the Firebug plugin, install it from http://getfirebug.com/. Note: For Chrome, you do not need to install anything. Proceed with the remaining steps.

    b. Press F12 to make the Firebug plugin or the Chrome built-in Developer Tools console visible.

    c. Modify index.html. Just before the call to ININ.Web.Chat.UI.Page.load(...),

    add this line: ININ.Web.Common.Debug.setTraceLevel(ININ.Web.Common.TraceLevels.ALL);

    d. Point your browser to http://webserver/I3Root, press F12, and then click "Console."

    Or As an alternative to modifying index.html, begin a chat and have any party type one of the following:

    set tracelevel all set tracelevel verbose set tracelevel note set tracelevel status set tracelevel warning set tracelevel error set tracelevel critical

    Note: The downside here is that the log messages pertaining to creating/connecting the chat are not shown.

  • Chapter 4: Installing and Configuring Interaction Web Tools

    Interaction Web Tools Technical Reference 31

    Problem Reports You can enable problem reporting for errors that occur in a website visitors browser during chat sessions. These problem reports are stored in the WPB logs. Support can use these logs to diagnose the reason for failure when a website visitors browser loses connection, then recovers and sends a problem report. You enable problem reporting by setting the Web Services parameter AllowClientProblemReport to 1. Optionally, you can include only selected problem reports in the WPB logs by configuring the Web Services parameter ProblemReportControlExpression. For more information, see Error! Reference source not found. on page Error! Bookmark not defined.. Note: Enabling problem reporting increases CPU load. Use this feature as needed to diagnose problems. Do not enable it as a routine practice. Problem reports are fairly easy to read.

    { "version": 1, "attemptedWork": "https://xyzcorp/I3Root/Server1/websvcs/serverConfiguration", "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31", "failedRequestHistory": [ {"status": 0, "url": "https://xyzcorp/I3Root/Server1/websvcs/serverConfiguration", "sendTimestamp": "2013-04-12T15:16:50Z", "duration": 12001} ], "timedOutRequestHistory": [ {"status": 0, "url": "https://xyzcorp/I3Root/Server1/websvcs/chat/poll/f3e5af5b-9140-4ec5-a8f0-e5a269e26207", "sendTimestamp": "2013-04-12T15:16:46Z", "duration": 12005} ], "connectivityFailureHistory": [ {"activity": "failover", "timestamp": "2013-04-12T15:16:50Z"} ], "exceptions": "Failed request" }

    In this example, "status": 0 means the website visitor received a timeout error when the visitor tried to access the given URL. "Duration" is the time in milliseconds it took to get that response.

  • Chapter 5: Configuring Default Web Functionality

    Interaction Web Tools Technical Reference 32

    Chapter 5: Configuring Default Web Functionality

    Included Interaction Types IC ships with several handlers that enable out-of-the-box Web functionality. Note: The out-of-the-box functionality described in this chapter is available as described. This chapter and the procedures described within are intended for Web administrators familiar with Web features and handler management for Interaction Center. This document assumes that the reader is familiar with IC Web functionality and components and is not a substitute for that knowledge. Without handler modification or HTML authoring, if you dont want to alter the appearance of the IC Default Web Pages, you can offer these interaction types to website visitors.

    Interaction Type Description IC Chat These automatic webpages enable visitors to initiate Chat sessions with

    IC agents and workgroups. These workgroups include those processing ACD (Automatic Communication Distribution) events.

    Callback These webpages allow visitors to initiate Callback requests to IC agents and non-ACD workgroups. The handlers automatically place an outbound interaction to the specified IC agent or non-ACD workgroup and then place the interaction on that queue.

    Phone These webpages can automatically display a telephone number through which visitors contact your organization. Implement this functionality after you have already installed and configured your Interaction Web Tools and Components as described in Chapter 4: Installing and Configuring Interaction Web Tools.

    Automatic Web Pages Interaction Web Tools provide commonly used IC-based Web functionality that requires no handler authoring and little HTML authoring. Handlers automatically parse a set of hidden command-line arguments passed in with the Web event. The Automatic Web Handlers section explains how to pass command-line arguments with events.

    Handlers The handler that generates each webpage described in this document registers it. You cannot open these webpages with an HTML editor, nor can you store them on your web server. Rather, a handler displays these webpages for visitors browsing your website. New technology includes the hidden command-line arguments the handler uses to generate a customized webpage. These customizations limit both the types of interactions available to visitors and the look and feel of the pages.

  • Chapter 5: Configuring Default Web Functionality

    Interaction Web Tools Technical Reference 33

    Automatic Web Handlers The following handlers enable the automatic Web functionality and are included with IC:

    Automatic Web Handler Description System_WebSearch.ihd Queries the status of a specified agent based on the input

    arguments passed to it. IC calls this handler when the visitor performs a search from the System_WebInteract screen, or if a handler calls directly to it. This handler also displays the results of a search, including the agents status, contact information, and links to initiate Chat or Callback sessions.

    ConvertDateTimeToString.ihd Converts a DateTime value to a formatted string value.

    System_WebSearch.ihd System_WebSearch queries the status of a specified agent based on the input arguments passed to it. IC calls this handler when the visitor performs a search from the System_WebInteract screen, or if a handler author calls directly to it, passing the correct input arguments. System_WebSearch displays the agent's status, contact information, and links to initiate Chat or Callback sessions. The code required to produce this page is included in WebSvcsI3Root.zip. Note: See the Interaction Web Tools Developers Guide for details about the code and input arguments used to produce the Web Search page.

    Enabling Queries to Work with a Switchover Pair

    You can add switchover functionality to your search form by using the configureFormsForSwitchover function in the page containing the search form. This function enables the search form to work with a switchover pair of IC servers.

    Example

    Here is an example of the type of page produced by a System_WebSearch query. The code required to produce this page is not included with Interaction Web Tools.

  • Chapter 5: Configuring Default Web Functionality

    Interaction Web Tools Technical Reference 34

    Web Search results example

    Web authors can create a similar page by embedding a call to it within their HTML, as shown in this sample search page code: Simple Example First Name: Last Name: Department: Marketing Sales

  • Chapter 5: Configuring Default Web Functionality

    Interaction Web Tools Technical Reference 35

    The preceding code sample produces this Web Search Page.

    Web Search Page example

    Clicking Search produces this page which you can customize.

    Web Results page example

    The following table defines the input arguments for the Web Search Page.

    Hidden Argument Value FirstName The First Name value for the search LastName The Last Name value for the search. Department The Department value for the search. SearchBackGround Sets the background color of the Web search page. You can

    specify colors as red or green but RBG color value is best for compatibility with all Web browsers. The default color of the pages is #FFFFFF.

  • Chapter 5: Configuring Default Web Functionality

    Interaction Web Tools Technical Reference 36

    Hidden Argument Value PageTitle Sets the title text on Web Search pages. The default page

    title is "Interact with Us!" Banner Image Specifies the banner image at the top of the page. The

    default is Nav2Banner.gif that contains Interactive Intelligence.

    UserData Passes data that you collect about the visitor, some of it critical to the performance of the Web handlers. For example if a visitor asks for a Callback request, the handlers need a telephone number. The Web author is responsible to get this information from the visitor and put it into the following format with each value separated by an ampersand (&). The order is important. If a value is missing, hold its place with ampersands. For example value=Name&e-mail&&phone&&&&&& Visitor data values:

    Name The visitor's name. Required. E-mail address The visitor's e-mail address. Required. Company Name The visitor's Company. Phone Number The visitor's phone number. Required. (Verify the format of the number entered.) Address1 The visitor's address. Address2 - More address information. Address3 More address information. City - The visitor's city. State The visitor's state. Zip Code The visitor's Zip Code.

    SearchFilterOut Specifies one or more IC workgroups hidden from visitors when they specify a search. A visitor can search by first name, last name, or IC workgroup. If this input argument is missing or left blank, then the visitor can choose to search from all IC workgroups. If there are workgroups that you don't want displayed in the drop-down list box on the search option, list them in this argument, separated buy ampersands (&).

    DefaultSearchWorkgroup Specifies the default search workgroup in the drop-down list box of searchable workgroups. If missing or blank, no default workgroup appears in the drop-down list box.

    Installing and Configuring Default Web Pages To insert IC Web functionality anywhere within your Web site, use all or some of the automatic Web handlers. To activate automatic web pages: 1. Install and configure the IC Web Components using this document as a

    guide. 2. To enable the optional web search feature:

    a. Create one or two folders (in the case of a switchover setup) in the I3Root/WebServices/ directory, named Server1 and Server2. Note: These folders are for reverse proxies for web search. Do not use the same server folders that you created previously as part of the Installation Web Tools installation and configuration. Those folders are for reverse proxies for chats/callbacks.

    b. In IIS Manager, set up a URL Rewrite rule for the new folders (see in step 15 on page 21).

  • Chapter 5: Configuring Default Web Functionality

    Interaction Web Tools Technical Reference 37

    Note: This rule corresponds to the IC server location, subdirectory WebHTMLService, port 8018. Example: http://ICServer:8018/WebHTMLService/{R:1}

    c. If you are using a non-standard server setup, verify that the c_sPath variables in the System_WebSearch.ihd handler correspond with the correct paths for your server configuration.

    3. Installing IC publishes the ConvertDateTimeToString.ihd handler. Verify that it is active on your IC server from Interaction Administrator. Activate it if it is not. Note: These handlers are source code for the automatic webpages. If you modify these handlers, the automatic webpages may not function. In particular, the Generate HTML steps contain registered HTML pages that are encoded and stored on the IC server in a format that only the handlers can use. If you attempt to modify the Generate HTML steps, these handlers do not function correctly. The original HTML pages used to create these handlers are contained in WebSvcsI3Root.zip. This file is placed in \\IC_WebServicesChat on the IC server during the IC server installation.

    4. To display the images correctly in the web pages, in Interaction Administrator, set the Web Event Image Path parameter. Note: This value is relative to http://server/I3Root/WebServices. It defaults to ../img/ which is http://server/I3Root/img. These GIF files are required for the webpages. AtHome.gif Avail.gif Avaiable.gif Callback.gif Chat.gif DND.gif Email.gif

    Fax.gif Followup.gif InteractBanner.gif Lunch.gif Meeting.gif Nav2Banner.gif Nav2Logo.gif

    OnPhone.gif Outoff.gif Phone.gif SendMail.gif Train.gif Vacation.gif Von.gif

    5. Insert the HTML code examples from earlier in this document into your Web site where you would like to activate the automatic web pages. You could place this code behind a button or within your page so that the automatic pages appear when the page loads. When a visitor views and activates the page containing the new code, the handlers generate the automatic web pages.

  • Chapter 6: Sending and Receiving Web Pages Using Handlers

    Interaction Web Tools Technical Reference 38

    Chapter 6: Sending and Receiving Web Pages Using Handlers You can use handlers to: Capture visitor-entered data from your Web site

    You can create handlers that accept visitor-entered information, such as name, IC password, and other types of information. The values entered are passed into handlers where they can be processed any way you like (for a form, hyperlink, etc.) Example: You could ask a visitor to enter the name or extension of an IC agent. Your Web server passes this information into a handler where you could generate a webpage showing that IC agents current availability and expected time of return.

    Send information from handlers into custom webpages Handlers processing the visitor-entered information can retrieve data from a database, IC Directory Services, a mail server, or any other data source accessible to handlers. You can then use handlers to format that data and return it to the visitor in a custom webpage. Example: Using IC OCR capabilities, a visitor could e-mail an interaction fax document to the OCR Server. OCR converts the document to a text document. The handlers then send e-mail to that visitor with a hyperlink. When the visitor logs in to your Web site, they can click the hyperlink in their e-mail to view the converted document.

    Capturing Visitor-entered Data from Your Web Site into Handlers This section describes the process by which information passes from a webpage to a handler.

    Concepts Introduced HTML event HTML Initiator Web HTML plugin

    Overview If you chose to install the Web event components, you can start handlers with events generated by webpages. For example, when a visitor clicks a Submit button on your webpage, all the information that visitor entered on the page is collected and placed within an HTML event that starts a handler. (The event is unique for that button, starting specific handlers for specific actions.) The handler can extract that information from the event, place the information into string variables and process the information within a handler. The events a webpage generates are HTML events. You may give each a unique name. The HTML initiator can start a unique handler for each unique HTML event your web pages generate. A custom handler on your Web server provides this Web event functionality. Hyperlinks and buttons within your webpages can call this handler to generate a Web event. This handler also packages visitor data into the event and passes such information as the Web connection, the visitor's IP address and other useful information to the handler. The handler processes the information and sends a custom page back to the visitor over the same Web connection. This entire transaction occurs

  • Chapter 6: Sending and Receiving Web Pages Using Handlers

    Interaction Web Tools Technical Reference 39

    through a proxy on your Web server, so it works even if you are using a firewall to protect your network.

    Example This example shows how to look up a name and password submitted in an HTML form using the Web event component. Assume that you installed the Web event components and created a webpage that allows visitors to submit names and passwords in an HTML form. Behind the Submit button on the form is a call to the Web HTML plugin that looks something like this example:

    Simple Example Enter your name and password:

    When the visitor clicks the Submit button, the Web HTML plugin generates an event called PasswordLookup that contains the Name and Password string values. The Notifier, an IC server subsystem that broadcasts events, receives the event, and broadcasts it to all of the other IC server subsystems. One of the subsystems notified is Interaction Processor. Interaction Processor starts any handlers HTML initiators registered to start when the PasswordLookup event occurs. A handler named PasswordLookup.ihd starts. The PasswordLookup initiator retrieves the values of Name and Password from the event and writes those values to variables that the handler can use. Interaction Processor starts PasswordLookup, which retrieves the value of Name and Password, and then performs a database lookup based on the Name and Password values. By calling the Web HTML plugin from a webpage, you can start a handler and pass information to that handler. You can pass two types of information: command-line data and form data.

    Command-Line Data Command-line data is static information you want to pa


Recommended