+ All Categories
Home > Documents > Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00...

Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00...

Date post: 18-Jul-2020
Category:
Upload: others
View: 15 times
Download: 0 times
Share this document with a friend
52
Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002
Transcript
Page 1: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Avaya™ Interaction Center Release 6.0WebQ Reference

DXX-1068-00Issue 1.0

June 2002

Page 2: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

2002, Avaya Inc.All Rights ReservedNoticeEvery effort was made to ensure that the information in this book was complete and accurate at the time of printing. However, information is subject to change.

Preventing Toll Fraud�Toll fraud� is the unauthorized use of your telecommunications system by an unauthorized party (for example, a person who is not a corporate employee, agent, subcontractor, or working on your company's behalf). Be aware that there may be a risk of toll fraud associated with your system and that, if toll fraud occurs, it can result in substantial additional charges for your telecommu-nications services.

Avaya Fraud InterventionIf you suspect that you are being victimized by toll fraud and you need technical support or assistance, call Technical Service Center Toll Fraud Intervention Hotline at +1 800 643 2353.

Providing Telecommunications SecurityTelecommunications security (of voice, data, and/or video communications) is the prevention of any type of intrusion to (that is, either unauthorized or mali-cious access to or use of your company's telecommunications equipment) by some party.

Your company's �telecommunications equipment� includes both this Avaya product and any other voice/data/video equipment that could be accessed via this Avaya product (that is, �networked equipment�).

An �outside party� is anyone who is not a corporate employee, agent, subcon-tractor, or working on your company's behalf. Whereas, a �malicious party� is anyone (including someone who may be otherwise authorized) who accesses your telecommunications equipment with either malicious or mischievous intent.

Such intrusions may be either to/through synchronous (time-multiplexed and/or circuit-based) or asynchronous (character-, message-, or packet-based) equip-ment or interfaces for reasons of:

� Utilization (of capabilities special to the accessed equipment)� Theft (such as, of intellectual property, financial assets, or toll-facility

access)� Eavesdropping (privacy invasions to humans)� Mischief (troubling, but apparently innocuous, tampering)� Harm (such as harmful tampering, data loss or alteration, regardless of

motive or intent)Be aware that there may be a risk of unauthorized intrusions associated with your system and/or its networked equipment. Also realize that, if such an intru-sion should occur, it could result in a variety of losses to your company (includ-ing but not limited to, human/data privacy, intellectual property, material assets, financial resources, labor costs, and/or legal costs).

Your Responsibility for Your Company's Telecommunications SecurityThe final responsibility for securing both this system and its networked equip-ment rests with you - an Avaya customer's system administrator, your telecom-munications peers, and your managers. Base the fulfillment of your responsibility on acquired knowledge and resources from a variety of sources including but not limited to:

� Installation documents� System administration documents� Security documents� Hardware-/software-based security tools� Shared information between you and your peers� Telecommunications security experts

To prevent intrusions to your telecommunications equipment, you and your peers should carefully program and configure your:

� Avaya-provided telecommunications systems and their interfaces� Avaya-provided software applications, as well as their underlying

hardware/software platforms and interfaces� Any other equipment networked to your Avaya products.

Avaya National Customer Care CenterAvaya provides a telephone number for you to use to report problems or to ask questions about your contact center. The support telephone number is 1-800-242-2121.

Ordering InformationAvaya Publications Center Voice: +1 800 457 1235 International Voice: 410 568 3680 Fax: +1 800 457 1764 International Fax: 410 891 0207 Email: [email protected]

Write: GlobalWare Solutions Attention: Avaya Account Manager200 Ward Hill Avenue Haverhill, MA 01835 USA

Order: Document No. DXX-1068-00, Issue 1.0, June 2002

To order product documentation online, go to http://www.avayadocs.com, click on Online Services, and select the appropri-ate product group.

WarrantyAvaya Inc. provides a limited warranty on this product. Refer to the �Limited Use Software License Agreement� or other applicable documentation provided with your package to establish the terms of the limited warranty.

Avaya Web Pagehttp://www.avaya.com

TrademarksAvaya, Conversant, CustomerQ, Definity, DefinityOne, Nabnasset, Quintus, and WebQ are registered trademarks or trademarks of Avaya Inc. in the United States or other countries or both.

Portions of Avaya Interaction Center include technology used under license as listed below, and are copyright of the respective companies and/or their licen-sors:

ActivePerl is a trademark of ActiveState Tool Corp. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Cognos, Impromptu and Powerplay are registered trademarks of Cognos Incorporated. YACC++ is a registered trademark of Compiler Resources, Inc. APEX, ComponentOne, VideoSoft, True DBGrid, VSVIEW, SizerOne, VS-OCX, VSFlexGrid, VSFORUM, VSREPORTS, VSDOCX, VSSPELL, and TrueDBList are either registered trademarks or trademarks of ComponentOne LLC. CT Connect, Dialogic, Intel, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Hummingbird is a registered trademark of Hummingbird, Ltd. SearchServer is a trademark of Hummingbird, Ltd. RISC System/6000 and DirectTalk/2 are trademarks of International Business Machines Corporation in the United States or other countries or both. IBM, OS/2, AS/400, CICS, WebSphere, CT, VisualAge, and DirectTalk are registered trademarks of International Business Machines Corporation in the United States or other countries or both. Lotus and Lotus Sametime are trademarks or registered trademarks of Lotus Development Corporation and/or IBM Corporation in the United States, other countries, or both. VisualX is a registered trademark of Intergroup Technologies, Inc. ActiveX, Visio, Internet Explorer, Windows, Windows NT, Windows 2000, Win32s, SQL Server, Visual Basic, Visual C++, Outlook, and FrontPage are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. TimesTen is a registered trademark of TimesTen Performance Software. Oracle is a registered trademark, and Oracle8i and Oracle® SQL/Services are trademarks or registered trademarks of Oracle Corporation. Rogue Wave and .h++ are registered trademarks of Rogue Wave Software Inc. SourcePro is a trademark of Rogue Wave Software, Inc. Siebel is a trademark of Siebel Systems, Inc. BasicScript is a registered trademark of Summit Software Company. Sun, iPlanet, Java, Solaris JRE, J2EE, JavaServer Pages, and all Java-based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. SPARC is a registered trademark of SPARC International, Inc. Products bearing SPARC trademarks are based on an architecture devel-oped by Sun Microsystems, Inc. In3D is a trademark of Visual Insights, Inc. InstallShield® is a registered trademark and service mark of InstallShield Software Corporation in the United States and/or other countries. ORBacus is a trademark of IONA Technologies PLC. Formula One is a licensed trademark and Tidestone Technologies, Inc. Visual Components, First Impression, and VisualSpeller are registered trademarks of Tidestone Technologies, Inc. JRun is a trademark of Macromedia, Inc. in the United States and/or other countries. Intervoice is a registered trademark of Intervoice-Brite, Inc. UNIX is a registered trademark of The Open Group in the United States and other countries. Acrobat is a registered trademark of Adobe Systems.

Other product and brand names are trademarks of their respective owners.

AcknowledgmentThis document was written by the CRM Information Development group of Avaya

Page 3: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

CONTENTS

BEFORE YOU BEGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1 WEBQ BASICS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9WebQ Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9How WebQ Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Using WebQ to Access Business Application Databases . . . . . . . . . . . . . . . . . . . . . . 10WebQ Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

WebQ Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12IC Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Internet and Intranet Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Automatic SQL Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Reports with Report Writer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Usage Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Load Balancing with WebQ Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 WEBQ PAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Copying the WebQ Pages Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Creating WebQ Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Setting VerifyIpAddress Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Working with Login, Help, and Error Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Login Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Help Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Error Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Modifying Generated Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Understanding WebQ Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Working with WebQ Page Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Using WebQ Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Using WebQ Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Designing WebQ Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Frameset files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3

Page 4: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Contents

Browser Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Form Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Navigation Bar Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Color Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32WebQ Pages and Avaya IC Focuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Table Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Understanding WebQ Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3 SECURE COMPUTING WITH WEBQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Access Security with NSAPI Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

WebQ and NSAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Migration Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Implementing NSAPI Security with WebQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Data Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Request Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Monitoring WebQ Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Constraining Searches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4 TROUBLESHOOTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Preventing and Debugging Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Quick Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Using LOGMESSAGE Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Changing HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Login Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Invalid User or Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47User Not Found in Agent Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Problem-Solution Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4 WebQ Reference

Page 5: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

BEFORE YOU BEGIN

Typographical ConventionsThis guide uses the following font conventions:

Notes, Tips, and CautionsNote: A note calls attention to important information.

Tip: A tip offers additional how-to advice.

Caution: A caution points out actions that may lead to data loss or other serious problems.

Contacting Technical SupportIf you are having trouble using Avaya software, you should:1 Retry the action. Carefully follow the instructions in written or online documentation.

2 Check the documentation that came with your hardware for maintenance or hardware-related issues.

Font Type Meaning

code This font signifies commands, information that you enter into the computer, or information contained in a file on your computer.

italics This font is used to add emphasis to important words and for references to other chapter names and manual titles.

It also indicates variables in a command string.

jump Blue text in online documents indicates a hypertext jump to related information. To view the related material, click on the blue text.

!

5

Page 6: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

3 Note the sequence of events that led to the problem and the exact messages displayed. Have the Avaya documentation available.

4 If you continue to have a problem, contact Avaya Technical Support by:

� Logging in to the Avaya Technical Support Web site http://www.avaya.com/support/qq � Calling or faxing one of the following numbers from 8:30 a.m. to 8:30 p.m. (Eastern

Standard Time), Monday through Friday (excluding holidays):� Toll free in the U.S. only: 1-888-TECH-SPT (1-888-832-4778)� Direct line for international and domestic calls: 512-425-2201� Direct line for faxes: 512-997-4330

� Sending email with your question or problem to [email protected]. You may be asked to email one or more files to Technical Support for analysis of your application and its environment.

Note: If you have difficulty reaching Avaya Technical Support through the above URL or email address, please go to http://www.avaya.com for further information.

Product DocumentationMost Avaya product documentation is available in both printed and online form. However, some reference material is available only online, and certain information is available only in printed form. A PDF document with detailed information about all of the documentation for the Avaya Interaction Center is included in the Doc directory on the product CD-ROM. This PDF document is also included on the separate documentation CD-ROM.

Readme FileThe Readme file is an HTML file included on the Avaya Interaction Center software CD-ROM. This file contains important information that was collected too late for inclusion in the printed documentation. The Readme file can include installation instructions, system requirements, information on new product features and enhancements, suggested work-arounds to known problems, and other information critical to successfully installing and using your Avaya software. You may also receive a printed Addendum to the Readme, containing similar information uncovered after the manufacture of the product CD-ROM. You should review the Readme file and the Readme Addendum before you install your new Avaya software.

Electronic DocumentationThe electronic documentation (in PDF or HTML format) for each Avaya Interaction Center product is installed automatically with the program. Electronic documentation for the entire Avaya product suite is included on the product CD-ROM and the documentation CD-ROM.

You can also view the documentation set online at http://www.avayadocs.com.

6 WebQ Reference

Page 7: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Educational Services

Printed DocumentationYou can purchase printed copies of these manuals separately. For details, see "Ordering Information"on the back of this manual�s title page.

License to Print the Electronic DocumentationOnline copies of documentation are included on the CD-ROM that accompanies every software release. An Avaya customer who has licensed software (a �Licensee�) is entitled to make this online documentation available on an internal network or �intranet� solely for the Licensee's use for internal business purposes. Licensees are granted the right to print the documentation corresponding to the software they have purchased solely for such purposes.

Right-To-Print License Terms

Documents must be printed �as-is� from the provided online versions. Making changes to documents is not permitted. Documents may be printed only by any employee or contractor of Licensee that has been given access to the online documentation versions solely for Licensee's internal business purposes and subject to all applicable license agreements with Avaya. Both online and printed versions of the documents may not be distributed outside of Licensee enterprise or used as part of commercial time-sharing, rental, outsourcing, or service bureau use, or to train persons other than Licensee's employees and contractors for Licensee's internal business purposes, unless previously agreed to in writing by Avaya. If Licensee reproduces copies of printed documents for Licensee's internal business purposes, then these copies should be marked �For internal use only within <Licensee> only.� on the first page or cover (where <Licensee> is the name of Licensee). Licensee must fully and faithfully reproduce any proprietary notices contained in the documentation. The copyrights to all documentation provided by Avaya are owned by Avaya and its licensors. By printing any copy of online documentation Licensee indicates its acceptance of these terms and conditions. This license only governs terms and conditions of printing online documentation. Please reference the appropriate license agreement for terms and conditions applicable to any other use, reproduction, modification, distribution or display of Avaya software and documentation.

Educational ServicesAvaya University provides excellent training courses on a variety of topics. For the latest course descriptions, schedules, and online registration, you can get in touch with us:� Through the web at http://www.avaya-learning.com/logon_form.asp� Over the telephone at 800-288-5327 (within the U.S.) +001 303-406-6089 (outside of the U.S.)� Through email at [email protected]

Issue 1.0 June 2002 7

Page 8: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

8 WebQ Reference

Page 9: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

CHAPTER 1WEBQ BASICS

WebQ is a server that provides an HTML front end to the Avaya� Business Applications. It enables customers and support agents to access Avaya� Interaction Center databases remotely using the Internet or an intranet. This chapter describes how WebQ works and presents an overview of WebQ features.

WebQ OverviewWebQ lets your customers and agents access your Avaya� Business Application database remotely using a standard HTML browser. To ensure security, customers can only look at their own contacts while agents can look at any contact in the database. WebQ determines whether a user is a customer or a support agent based on their WebQ user ID, which is set in the Administration and Customer Management focuses of your WebQ application.

With WebQ, customers can do the following:� Create a contact.� Examine their existing contacts.� Append comments to their contacts.

With WebQ, support agents can do the following:� Examine, create, and update contacts.� Examine and update customer or employee information and other application records.� Create and track defects.� Run predefined reports.

WebQ uses the data model information from your Avaya Business Application to automatically generate SQL, and integrates with the Business Application�s escalation mechanism. Contacts entered through WebQ are subject to the same table rules as contacts entered directly, so contacts will not be overlooked.

9

Page 10: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 1 WebQ Basics

How WebQ WorksWebQ is a standalone server that communicates with standard HTML browsers using standard HTTP 1.0 protocol. It is an easily configured and customized interface that lets you remotely access and update Avaya Business Application databases.

The WebQ Server listens for HTTP requests on the TCP/IP port defined in IC Manager. The WebQ Server is multi-threaded and spawns threads automatically to handle multiple requests.

The contents of WebQ pages are independent of database type (Oracle, DB2, or Microsoft SQL Server). WebQ pages just refer to application tables and fields in the Business Application design file. The WebQ Server talks to the Data Connector Server which generates the SQL needed to perform database operations.

A WebQ session is driven by the contents of the WebQ pages. For example, when you perform a search, WebQ uses three types of pages: � Query � Specifies the fields that can be used to constrain a search.� Browse � Displays the records that match the selection criteria.� Select � Determines which fields in the selected records will be displayed.

Caution: A WebQ browser page can contain only 512 bytes per record retrieved.

WebQ pages use custom extensions to dynamically process and display the results of database operations. For more information on WebQ extensions, see Chapter 2, �WebQ Pages�.

Using WebQ to Access Business Application DatabasesThe WebQ Server is a separate server from your standard HTTP server, with its own TCP/IP port that listens for connections. A standard HTML form located on your standard HTTP server allows customers and agents to submit their user ID and password to the WebQ Server. Once the user�s login information has been verified, the Business Application handles all requests to display and update records in a Business Application database, and maintains session information for each user over multiple requests.

System Configuration for WebQ Installed on UNIX and NT/2000

A WebQ Server connects to a Business Application database installed on either Windows NT/2000 or UNIX platforms.

As shown in the following illustration, WebQ Server connects via the Data Connector Server to the following:� Microsoft SQL Server� Oracle� DB2

!

10 WebQ Reference

Page 11: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

How WebQ Works

� Secondary ODBC connections

WebQ SessionsWebQ maintains a separate session for each actively connected customer and support agent. To begin a session, the user must successfully log in to WebQ.

Handling Login Requests

A user typically initiates a WebQ session by requesting the WebQ login page on the regular HTTP server. This login page contains a form that specifies a user name and password which is sent to the WebQ Server when submitted. The user is validated by WebQ in the webqauth table.

If, according to the authentication table in the database (webqauth), the user exists and has provided a valid password, the WebQ Server creates a session for the user. A session identifier is associated with the user to maintain session information.

WebQ uses a session-specific identifier (session ID) to maintain state information between each request, such as the results of the previous database search.

If a WebQ Router is used, the login form is sent to the WebQ Router. The WebQ Router process polls the various WebQ Servers on the network and directs the user login to the least busy server. Because the WebQ Router uses HTTP protocol to complete the redirection, this is completely transparent to the user.

Notification Server

HTTP server

WebQ Server on UNIX

Avaya IC UNIX databases(Oracle or DB2)

Data Connector Server connection for Oracle, DB2, and Microsoft SQL Server

Avaya Interaction Center NT/2000 databases(Microsoft SQL Server, Oracle, or DB2)

QKnowledge SearchServer

WebQ Router

WebQ Servers

Issue 1.0 June 2002 11

Page 12: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 1 WebQ Basics

Ending a Session

WebQ uses the session identifier to track periods of inactivity in a session. The SessionTimeout variable specifies the period of inactivity that must elapse before a session becomes inactive. If the user tries to access the WebQ Server during this time, it notifies the user that their session is inactive and they must log in again.

If the period of inactivity extends beyond the timeout period set by the SessionCleanup variable, the server displays a message indicating the user has an invalid session and must log in again.

The server cleans out all timed-out sessions, minimizing any need for maintenance.

To begin a session after timing out, you must login again.

You can also explicitly log out by selecting the [End Session] hyperlink in the Navigation frame at the bottom of the interface.

WebQ FeaturesWebQ has a number of features for both the client and the server. Some of these features are discussed in more detail in the following sections:

WebQ Feature... Description

Avaya application�look and feel�

You only have to design the application once. When you are finished, generate the HTML format for your WebQ users. The WebQ layout is based on the Avaya Business Application Visual Basic client layout.

WebQ Searches QKnowledge (Fulcrum SearchServer and IndexQ) is integrated into the WebQ environment, including external document collections. The WebQ Java Applet adds an OR capability to searches.

IC Scripts WebQ supports table rules (BeforeSearch, BeforeUpdate, and AfterUpdate). GUI based IC Scripts cannot be run from the application. Client side scripting is handled by JavaScripts. CGI is not used, or needed.

Full Internet and intranet support Internal and external support agents and customers can access databases, log queries, update contacts, and request support from either side of the firewall.

Automatic SQL generation Vendor libraries are used to automatically generate the SQL needed for database queries.

12 WebQ Reference

Page 13: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

WebQ Features

WebQ - Java Applet

The WebQ Java applet adds an �Or� capability to WebQ searches that use option/enum fields.

Installing and Configuring the WebQ Java Applet

To install the WebQ Java Applet, copy the following Java class files from the Avaya installation directory (httpd/): � option.class. � optionwidget.class.

into the same directory as the $WWWSERVER/$ICONDIR setting from IC Manager.

Using the WebQ Java Applet

To use the Or function in an option/enum field of WebQ:1 Choose the desired options in the Or window.

2 Close the Or window.

3 Click Search.

Reporting Predefined reports in Report Writer can be used from WebQ.

Automatic Load Balancing WebQ Router balances loads among multiple WebQ Servers.

SecurityFor information, see Chapter 3, �Secure Computing with WebQ�.

� Access security with NSAPI protocols (SSL and S-HTTP) with WebQ Router� Mutual authentication� Message encryption and integrity

� Data security

� Authentication required for all requests� Separated customer/support agent pages� Proxy server between WebQ and database� Firewall support� Database permissions� Search constraints� Logs for activity monitoring

WebQ Feature... Description

Issue 1.0 June 2002 13

Page 14: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 1 WebQ Basics

IC ScriptsIC Scripts are supported by the WebQ Server. However, the WebQ client supports table rules, such as BeforeSearch, BeforeUpdate, and AfterUpdate, but does not support GUI-based IC Scripts.

Some client-side control is performed through JavaScripts which are automatically generated by the Database Designer. These scripts are used for:� Validating inputs.� Controlling the GUI.� Simple rules (like Uppercase).

Within the WebQ client, standard JavaScripts include scripts that:� Automatically backfill the record if one match is found.� Implement foreign fields similar to those in the Avaya IC client.� Check required fields.

Internet and Intranet ImplementationWebQ can be implemented as any of the following:� Pure Internet application which serves outside customers and support agents.� Pure intranet application which serves internal (help desk) customers.� Combined application which allows external (outside) customers and support agents to work

with the same database tables as internal support customers and support agents.

Automatic SQL GenerationIn both direct and indirect WebQ connections, WebQ generates the necessary SQL. The database libraries send that SQL to the database and return the results. CGI scripting is not needed.

Reports with Report WriterReport Writer is implemented as an option in Database Designer, and must also be enabled when you configure WebQ. In the default out-of-the-box implementation, Report Writer is available to agents only; customers cannot run reports. The WebQ implementation of Report Writer does not allow a user to create reports, only view reports that they own or reports that have been saved as public reports.

14 WebQ Reference

Page 15: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

WebQ Features

When you click on the Report Writer icon, a second browser displays a list of available predefined reports in the report specification frame. These are reports that have been created and saved as public reports. Clicking on one of the predefined reports automatically runs the report and displays the results in the report frame. Clicking on a link in the report frame drills down to that specific record.

Usage StatisticsThe WebQ Router�s main purpose is to perform load balancing and some failover (not fault tolerance) for multiple WebQ Servers, especially in larger installations. However, you may want to have the WebQ Router monitoring and routing a single WebQ Server, in order to use its status.htm page to provide WebQ usage statistics. This section explains how to set up this page.

Setting Up the Monitoring Page

To use the monitoring page to provide usage statistics:1 Look for status.htm in a directory called pages\router\

2 In IC Manager, select the WebQ Router (or add it as a new server if it is not present in the list of servers).

3 In the Paths tab, set a Name of �status.�

Issue 1.0 June 2002 15

Page 16: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 1 WebQ Basics

4 Add a Value of <path to status.htm>, based on your actual directory structure, such as

status c:\IC_install_dir\IC60\httpd\pages\router\status.htm

5 In the Options tab, check that the IndexName value is set to helpq.htm or custq.htm, based on your application.

6 Save your settings and start the WebQ Router.

7 Point your browser to

http://<webqrouter_machine>:<webqrouter_port>/status

Note: Do not use .htm at the end of �status.�

Accessing the Monitoring Page

Your actual HTTP server (Netscape, Apache, Microsoft Internet Information Server, and so on) will serve the login.htm. The ACTION line in login.htm will point to your WebQ Router:

<FORM METHOD="POST" ACTION="http://<server>:<port>/">

To access the monitoring page:1 In your browser, enter something like:

http://<server>/webq/login.htm

You should get the login.htm page.

2 Enter a name and password, and click Send.

You should see the Main Menu. If so, this shows that the WebQ Router is doing its primary job.

3 Enter in your browser something like:

http://<server>:<port>/status

You should see the monitoring page.

Load Balancing with WebQ RouterWhen supporting multiple WebQ Servers for a single application, especially in large installations, balancing the users among the servers becomes a priority. The WebQ Router provides this load balancing, as well as some failover.

The first process that a user contacts is the WebQ Router (Avaya recommends using the login form). It directs the user to the least loaded available WebQ Server in its list of monitored WebQ Servers. Because it uses the HTTP protocol to do the redirection, this is completely transparent to the user.

In order to inform a WebQ Router of the current loading (that is, number of active sessions), a special HTTP request is supported by the WebQ Server (LOAD / HTTP / 1.0) requesting information from the WebQ Servers it is managing.

16 WebQ Reference

Page 17: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

WebQ Features

The WebQ Router process polls each WebQ Server that it monitors, sending the LOAD command and storing the information returned in an internal data area.

The WebQ Router also listens for requests from Web browsers. When it receives one, it scans its internal data area for the WebQ Server with the lowest number of users. It then generates an HTTP reply that redirects the browser to the appropriate WebQ Server connection. The user will not talk to the router again (for that session), instead communicating directly with the WebQ Server where the login session was initiated.

For information on configuring WebQ Router, see Administration Volume 1: Servers & Domains.

Issue 1.0 June 2002 17

Page 18: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 1 WebQ Basics

18 WebQ Reference

Page 19: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

CHAPTER 2WEBQ PAGES

WebQ pages are HTML files that use WebQ�s HTML extensions. The extensions extend the power of HTML through WebQ page types, variables, and commands.

This chapter discusses the WebQ HTML pages, and explains how to create, modify (if necessary), and design the pages to provide users with the ability to view, search, create, and update database records.

For information on generating a WebQ application, see the Database Designer Application Reference.

Copying the WebQ Pages DirectoryWhen Database Designer generates WebQ pages, it writes them to <application directory>\<appname>\webq. Each focus is represented by a directory, with additional components listed under each directory. The WebQ directory contains the first page, <appname>.htm, which contains references (links) to all of the focuses generated from the Database Designer. The basic form the hierarchy follows is:� Set of Focuses

� Set of Forms (based on table-alias names)� Set of Pages

Connection information is set in IC Manager. Other HTML page information is contained in the appropriate subdirectories.

After you generate these pages in Database Designer, you must copy (or move) the pages and accompanying directory structure just as they are to the client location (either UNIX or NT/2000). For more information about generating WebQ pages, see the Database Designer Application Reference.

19

Page 20: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

Creating WebQ PagesDatabase Designer generates a WebQ application that closely resembles a Windows application. A WebQ application consists of linked files with an .htm extension.

Before you generate WebQ pages, make sure your Windows application design is complete. If you change your Windows application design, you must regenerate the WebQ pages to reflect the changes (see �Designing WebQ Pages,� on page 29).

For your WebQ application to reflect an updated design, you must:� Generate new WebQ pages, then� Update your WebQ configuration with the generated pages

To generate the HTML pages for a WebQ application:1 Open the Database Designer.

2 Choose File > Generate Web Application.

3 Select the application that you want to generate from the Name list.

4 In the Generate Web Application dialog box, specify a directory for the HTML files by entering the directory path in the Application Directory field. If you do not know the directory path, click Browse to select a directory.

Note: The new directory structure is <focusname>\<formname>.<tablealias>. (The old structure was <focusname>\<tablealias>\.)

5 If you changed any IC Scripts for use with WebQ, select the IC Scripts option to load IC Script files.

6 In the Database Login group, enter the database name and password for the owner of the database.

Select the Windows application for which you want to create a WebQ application.

Select a directory into which the HTML pages are generated.

20 WebQ Reference

Page 21: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Setting VerifyIpAddress Property

7 Click OK.

Database Designer does the following:

� Loads the IC Scripts (if specified) into the database� Generates the WebQ pages into the directory� Appends the WebQ directory to the Application Directory, such as \myapp001\custq\webq.

8 Place the updated WebQ pages in your WebQ configuration.

Note: After you generate the WebQ application, generate a Windows application to update the ADL file in the database.

Setting VerifyIpAddress PropertyTo verify the IP Address property:1 In IC manager, create a custom property VerifyIpAddress.

2 Set the property to Off or On.

Working with Login, Help, and Error PagesDatabase Designer does not generate the following WebQ pages:� Login page � Provides a mechanism for the user to start a WebQ session.� Help pages � Provide guidance information to the user (recommended).� Error pages � Provide feedback to the user when specific error conditions are encountered. You

do not need to update these pages.

Login PageThe Login page is the only page that must reside on your standard HTTP server. This page verifies that the user ID and password are in the database and, if they are, sends the values to the WebQ server.

If the username and password are verified in the webqauth table, the WebQ user�s login attempt succeeds. The WebQ user name constrains the following:� The type of user (Support Agent or Customer) � The Windows application for which the user has access (maintained in each WebQ request)

The Login page is not used again until the session is ended by the user or times out.

If the user name and password cannot be verified in the webqauth table, the login attempt fails and the user is alerted by an Error page (auth.htm).

Issue 1.0 June 2002 21

Page 22: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

Creating a Session with a Login Page

If you are planning to use WebQ for external customers, we recommend that you create a Login page for WebQ users.

To create a session with a Login page:1 Install WebQ.

2 Copy login.htm to your HTTP server. The file is located in <IC_install_dir>\IC60\httpd\.

3 Modify the ACTION link specified in this page to point to <appname>.htm, where <appname> is the name of the Windows application.

If you run WebQ Router, you can add usertype information to the login page. Usertype information improves the distribution of WebQ support agent licenses.

To add usertype information, add a control, such as a check box, with the following syntax:

<INPUT TYPE=CHECKBOX NAME=usertype VALUE=agent>I need a support agent license

Creating a Session without a Login Page

If you are planning to use WebQ for internal customers only, you can connect directly to WebQ. This login process is more efficient but causes navigation problems when a Session Timeout Error Page appears (the Login Page is not available to log back into). You must follow this procedure for each machine running WebQ.

To connect directly to WebQ:1 Create a desktop shortcut for WebQ.

2 Right-click on the shortcut icon on the desktop and select Properties.

3 In the Shortcut tab of the WebQ Properties dialog box, type the following at the end of the command line in the Target text box:

-u <username> -p <password>

where username is the WebQ username and password is the WebQ password for the agent using that machine.

4 Click OK.

22 WebQ Reference

Page 23: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Modifying Generated Pages

Help PagesBecause WebQ pages are created in HTML, you can provide hyperlinks to online information that can assist your customers with WebQ. We recommend that you provide an HTML document for this purpose.

The WebQ installation provides HTML documents which provide help for each Avaya IC focus. The \help\WebQ directory contains an overall contents file, contents.htm, and a help directory for each supported Avaya IC focus. The help directory for each focus contains two help files:� help.htm � Distribute these files to provide focus-level help for the enabled forms in each of the

standard WebQ focuses.� helpall.htm � Use these files to provide focus-level help for a custom WebQ implementation.

To enable help from WebQ, place the help.htm and helpall.htm files in the �\help\WebQ directory for your WebQ pages.

Error PagesError pages are HTML files.

To modify error pages, edit the files in the <webq_dir>/pages/errors directory.

Modifying Generated PagesIf you need to modify WebQ pages after you generate them, Avaya recommends that you change the HTML templates located in <install_dir>\design\template\webq directory and regenerate your WebQ pages, rather than directly editing the generated WebQ pages. Any changes you make directly to a generated HTML page will be lost the next time you generate the page.

This book includes information on modifying your pages. However, you are advised to use caution in doing so because Avaya does not support these modifications.

Understanding WebQ PagesWebQ extends the power of HTML through:� WebQ Page Types� WebQ Variables� WebQ Commands

Note: You do not need to modify the WebQ pages generated by Database Designer.

Issue 1.0 June 2002 23

Page 24: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

Working with WebQ Page TypesWebQ pages are HTML forms that refer to the database using a hidden field called action. The action field specifies how the WebQ Server should handle the request.

As noted previously, Avaya does not recommend directly modifying the WebQ pages generated by Database Designer.

Database Designer generates additional WebQ page types according to the pages and settings that you select:

The following example shows a standard WebQ page with corresponding actions and variable substitution.

In this example, the page�s action parameter specifies the location of the WebQ page that is to be sent after the action is performed. The session ID ($SID), is included in the string by using a question mark (?). The new action tells the WebQ server to create a new record in the database with the specified values. The hidden input types assign default values for the new record.

<FORM NAME="FORM1" METHOD="POST"

ACTION="browse.html?sid=$SID" TARGET="browser"

onSubmit="return post_vrfy_flds()">

<INPUT TYPE=hidden NAME="action" VALUE="new">

<INPUT TYPE=hidden NAME="@callstatus" VALUE="New">

<INPUT TYPE=hidden NAME="@customercall"

VALUE="${[email protected]:${WEBQ.customerwebqauth}}">

<INPUT TYPE=hidden NAME="@datereported" VALUE="now">

<INPUT TYPE=hidden NAME="@origin" VALUE="WebQ">

Actions: To specify:

new A new record

query A query for the database

update An update of a record

Action To specify�

append additional text to be appended to a long text item.

browse a page to display the results of a query page. Results appear in a table in the Browser area.

select a page that displays a selected record from a browser page (for multiple found records) or a query page (a single found record).

24 WebQ Reference

Page 25: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Understanding WebQ Pages

Using WebQ VariablesDatabase elements are referred to in pages using WebQ variable expressions. You can present or request more or less information by including appropriate references in the WebQ page.

You can also use WebQ variables within an HTML page to do the following:� Enable certain links for support agents (for example, links to Update pages)� Display certain fields to support agents only

Syntax for Variables

The basic syntax of variable names is: � $name, where name is a sequence of letters, digits and underscore characters beginning with a

letter � $@name, where name is a sequence of letters, digits, underscore, and period characters

beginning with a @� $#name, where name is a sequence of letters, digits, underscore, and period characters

beginning with a #� ${name}, where name is a sequence of any characters except:

=?:%

Variable names that begin with @ or # denote fields in the database: � $@field gets the value of a field in the currently selected record� [email protected] gets values from related tables� $#field or $#table.field evaluates to True if the field has a value, or to the empty string

otherwise.

Variable names that do not begin with @ or # can be one of the session-specific variables listed in the following table.

Session Variables

The following session-specific variables are available:

Use: To specify:

$BROWSER The name of the user�s Web browser.

$BVERSION The version number of the user�s Web browser.

$DATE The current date.

$FILE The path of the file being requested.

Issue 1.0 June 2002 25

Page 26: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

Predefined Variables

WebQ provides the following predefined variables:

WebQ Variable Conditionals

Variables can be conditionally tested with different values inserted depending on the result of the test. These values can be arbitrary pieces of HTML or text.

The variable expansion can also include a string format allowing the result to be truncated, and left or right justified within a specified width. This is useful for presenting lists of information, such as those in a browser page, without using HTML tables or other mechanisms.

The syntax of a variable with a modifier is: ${name=cmpstr?ifstr:elsestr%width}

where if $name equals cmpstr then substitute ifstr otherwise substitute elsestr.

The resulting string is padded or truncated to width characters and if width is negative, then the string is left justified.

Each component of the modifier can be omitted: � if =cmpstr is omitted then test if $name is not an empty string

$INDEX The index in the array of matched records of the current selected record.

$MATCHES The number of records matched by the previous query.

$NRECORDS The number of records returned by the previous query.

Note: If the MaxRecords configuration variable is set then $NRECORDS is the lower of $MATCHES and MaxRecords.

$SID The session identifier. This variable is used in all URLs sent to the WebQ server.

$TABLE The current table.

$TIME The current time.

$UPDATEOK True if this user is allowed to make updates(for example, if the user is a support agent).

$USERNAME The login name of the user.

${WEBQ.field} The value of field in the WebQ authorization record.

Use� To specify the character�

$C :

$D $

$P %

Use: To specify:

26 WebQ Reference

Page 27: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Understanding WebQ Pages

� if ?ifstr is omitted then substitute $name � if :elsestr is omitted then substitute the empty string � if %width is omitted then just return the string

The following are examples of modified variables:

Each of the strings cmpstr, ifstr, and elsestr may contain variables. For example, the following conditional returns �Only 99 records returned� if $NRECORDS and $MAXRECORDS are both 99:

${NRECORDS=$MAXRECORDS?Only $NRECORDS records returned}

To specify a colon (:) or a percent sign (%) in a variable expansion, use $C and $P, respectively.

Database Variables

A record is selected and related records are automatically �backfilled� from the database when a URL is requested that contains an index reference, for example:

select.html?id=74&sid=12345678.

In the example above, the index reference ID has a value of 74. The page select.html can contain $@field and [email protected] values that refer to the selected record and related records in other tables. This page may also contain links to other pages including pages for related tables in the directories for those tables.

For example, the select.html page for the Call table in a WebQ application may have a link to the select.html page for the Customer table, enabling the user to see details about the customer record.

When a link is followed into another directory, the currently selected record changes too, so that $@field refers to fields in the related record.

Using WebQ CommandsThe WebQ server supports commands embedded in HTML documents using the same convention for documents processed by many HTTP servers, namely to enclose them in HTML comments <!-- --> with the syntax:

<!--#commandname arguments -->

Use: To:

${name=3?SELECTED} Return SELECTED if $name equals 3

${name:default} Return $name if set else return default

${name%-20} Return $name padded to 20 chars and left justified

Issue 1.0 June 2002 27

Page 28: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

<!--#include file="path"-->

The file specified by path is included in the page sent from the server to the browser and can be absolute or relative. The contents of the file are subject to the usual WebQ variable expansion rules.

<!--#echo var="name"-->

The echo command returns the value of the variable name, and HTML commands in the returned text are interpreted as such.

Note: To prevent HTML commands in returned text from being interpreted, use $name.

For example, if you use the echo command to return values for the Problem field, <!--#echo var="@problem"-->, and there are HTML commands in the field, the returned text might include HTML commands such as <I>italics</I>.

However, if you use $@problem, the returned text would appear as &lt;I&gt; italics &lt;/I&gt;.

If your records are formatted in HTML, you can use the echo command to return the text in the solution long text field.

<!--#foreachrecord--> data <!--#/foreachrecord-->

Iterate through each record returned from a previous query expanding data relative to that record. This is used to present the results of a query in a browser page.

For example:<!--#foreachrecord-->

$@key <A HREF="select.html?id=$INDEX&sid=$SID"> $@firstname $@lastname</A>, $@name<BR>

<!--#/foreachrecord-->

This sequence for a customer browser would, on a separate line, list the key, firstname and lastname of the customer and the organization name for each record. The customer�s firstname and lastname make up a hypertext link to the actual record for that customer.

Inside a #foreachrecord command, the variables $@field refer to names in the browser definition. Thus the organization name is specified as $@name rather than [email protected], because that is its name in the browser for customer. For a foreign field, the name is specified as [email protected].

28 WebQ Reference

Page 29: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

<!--#foreachrecord table=table where=constraints maxrecords=n--> data <!--#/foreachrecord-->

<!--#foreachrecord table=table where=constraints maxrecords=n-->data <!--#/foreachrecord-->

Iterate through each record for a query specified within the page, so that a list of values from the database can be inserted before the page is sent. The contents of the iteration are inserted (with variable substitution) for each record. An example would be the presentation of a list of products to select from the New page. For example:

<!--#foreachrecord table=product-->

<OPTION value=$@key>$@name

<!--#/foreachrecord-->

The where constraints enable the search to be constrained. Multiple constraints are separated by &. For example, to list today�s open calls, use:

where=”statuscall=Open&datareported=today”

<!--#foreachmultioption table=table linktable=table cacheid=relationsetname-->

Iterate through each possible value for a multioption field, so that a list of values from the database can be inserted before the page is sent. The contents of the iteration are inserted (with variable substitution) for each record. An example would be the presentation of a list of software to select from the Query page. For example:

<!--#foreachmultioption table=software linktable=equipmentsoftwar cacheid=equipmentsoftware-->

<OPTION value=$@pkey>$@name

<!--#/foreachmultioption-->

Designing WebQ PagesA WebQ application runs in an HTML browser that supports frames and JavaScripts. The use of frames and JavaScripts provides a similar �look and feel� to the corresponding Avaya Business Application.

As shown in the following illustration, the HTML browser is divided into three areas: � Browser Area � Where the search results are displayed.� Form Area � Where the WebQ form is displayed and the user enters and views information

about the current record.

Issue 1.0 June 2002 29

Page 30: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

� Navigation Bar Area � Where the links to other WebQ forms are displayed.

Frameset filesThe following frameset command in frame.htm names the browser frames:

<FRAMESET ROWS="30%,*,8%">

<FRAME NAME="browser" SRC="../intro.htm?sid=74629555">

<FRAME NAME="form" SRC="new.htm?sid=74629555">

<FRAME NAME="tabs" SRC="../tabs.htm?sid=74629555" MARGINHEIGHT=0 SCROLLING="NO">

</FRAMESET>

Requests sent to the WebQ server are processed and the results sent to one of these frames using the target variable. The sample below displays the results of a query to the browser frame using the browser.htm page:

<FORM METHOD="POST" ACTION="solution/browse.htm?sid=$SID" TARGET="browser">

<INPUT TYPE=hidden NAME="action" VALUE="query">

<INPUT TYPE="TEXT" NAME="@SUMMARY" SIZE=60>

<INPUT TYPE=submit VALUE="search"></FORM>

Search results appear here.

WebQ form appears here.

Links appear here.

30 WebQ Reference

Page 31: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Designing WebQ Pages

Browser AreaThe browser area displays the results of a search. The sample Call browser page below displays search results in a table, using variables $@pkey, $@callstatus, $@priority, and $@problem to substitute search results, and the #foreachrecord command to display each record:

<TABLE BORDER=1 WIDTH=95% CELLPADDING=1 CELLSPACING=0>

<TH><FONT COLOR="blue">KEY</FONT></TH>

<TH><FONT COLOR="blue">STATUS</FONT></TH>

<TH><FONT COLOR="blue">PRIORITY</FONT></TH>

<TH><FONT COLOR="blue">PROBLEM</FONT></TH>

<!--#foreachrecord-->

<TR>

<TD align=middle><A HREF="select.htm?id=$INDEX&sid=$SID" TARGET="form">$@pkey</A></TD>

<TD align=middle>$@callstatus</TD>

<TD align=middle>$@priority</TD>

<TD>$@problem</TD>

[email protected]<!--#/foreachrecord--></TABLE>

Form AreaThe form area contains:� Query pages � to constrain a search on a table.� Select pages � to display a particular record.� Update and new pages � to enter new values for a record.� Long text pages � to view and enter long text.

The sample below uses the $UPDATEOK? variable to allow only support agents to search on calls associated with another customer. The @<variables> map to fields in the customer table

<FORM NAME="solution" METHOD="POST"

ACTION="solution/browse.htm?table=solution&sid=$SID"

TARGET="browser"onSubmit="return ">

<INPUT TYPE=hidden NAME="formname" VALUE="solution">

<INPUT TYPE=hidden NAME="action" VALUE="query">

<INPUT TYPE=hidden NAME="relationset" VALUE="cqlocal">

<TD ALIGN=right><FONT COLOR=BLACK>Topic$C<TD ALIGN=left> <SELECT

NAME="@topic">

${#solution.topic?<option>[email protected]}

<option>

<option>Hardware

Issue 1.0 June 2002 31

Page 32: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

...

</SELECT>

</TR>

</FORM>

Navigation Bar Area The navigation bar displays links to:� Other query pages� Main Menu page� End the session

Color SettingsThe color settings at the beginning of every page are specified using WebQ variables that can be changed by editing the WebQ configuration. The graphics can be replaced by changing the ICONDIR configuration setting to point to an alternative graphics directory:

<BODY

BGCOLOR="$COLORFORM"

TEXT="$COLORTEXT"

LINK="$COLORLINK"

ALINK="$COLORACTIVELINK"

VLINK="$COLORVISITEDLINK">

<IMG ALIGN=right SRC="$wwwserver/$icondir/webqbtm.gif" ALT="Avaya WebQ">

Query:

<A HREF="/f_call_entry_ext/customer/query.htm?sid=72961029" TARGET="form">Customer</A> |

<A HREF="/f_call_entry_ext/product/query.htm?sid=72961029" TARGET="form">Product</A> |

...

Other Links:

<A HREF="/custq.htm?sid=72961029" TARGET="_top">Main Menu</A> |

...

<A HREF="mailto:[email protected]">WebQ Feedback</A> <BR> has the email address been updated?

</BODY>

32 WebQ Reference

Page 33: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Designing WebQ Pages

WebQ Pages and Avaya IC FocusesThe directory structure for each WebQ page determines the Avaya IC focus and the anchor table alias. The anchor table alias for a WebQ page specifies the table in which the end-user can create and update records. As a result, the anchor group limits the search capacity of WebQ (see the Database Designer Application Reference for details on these limits).

The directories shipped with WebQ use the focus and table names from the standard Avaya Business Applications. If your application design is different, you should generate WebQ pages for your application using the Database Designer. For more information, see the Database Designer Application Reference.

Specifying Focuses and Tables

To specify the Avaya IC focus and table associated with a WebQ page, use the naming convention: focus_name/table_name/path_and_file.htm

where:� focus_name is the name of the Avaya IC focus� table_name is the name of the primary table� path_and_file.htm is the path and name of the corresponding WebQ page

Specifying Browsers

To specify the Avaya ICAvaya IC browser associated with a table, use the naming convention:focus_name/table_name/browser_table/browser.htm

where:� focus_name is the name of the Avaya IC focus� table_name is the name of the primary table� browser_table.htm is the name of the primary table for the browser� browser.htm is the browser for each page type:

� browse.htm - Query pages� fbrowse.htm - Query pages (foreign browser)� nbrowse.htm - New pages� nfbrowse.htm - New pages (foreign browser)� ubrowse.htm - Update pages� ufbrowse.htm - Update pages (foreign browser).

Issue 1.0 June 2002 33

Page 34: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

The first two levels of the directory name in your WebQ <install_dir>/pages directory must be the same as the focus and table names in your Avaya Business Application design.

Conventions for Naming WebQ Pages

Within each directory, the names of WebQ pages refer to their function:� append.htm� browse.htm� new.htm� query.htm� select.htm� update.htm

This naming convention results in a number of different pages with the same name, for example, query.htm. However, the contents of each page varies according to the directory in which it is located. Because the page file names are specified in the WebQ pages, you can change this convention.

For more information, see �Working with WebQ Page Types,� on page 24.

Table RulesA table rule is a IC Script that is attached to a table alias. The attached IC Script runs each time a specified database transaction is performed against the table alias. WebQ supports the following database events:� New� Before Search� Before Update� After Update

To create� Create a WebQ page named�

update.htm, which links to the f_call_entry_ext focus, customer table

f_call_entry_ext/customer/update.htm

new.htm, which links to the f_defect_management focus, defect table

f_defect_management/defect/new.htm

34 WebQ Reference

Page 35: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Understanding WebQ Limitations

Understanding WebQ LimitationsWebQ does not support the following functionality that is available in Avaya Business Applications:

WebQ only uses search constraints relative to the anchor group on a WebQ page. As a result, you cannot constrain a search from a non-anchor group. For details about the search limitations for non-anchor groups, see the Database Designer Application Reference.

Component Function

Forms Multiple groups and database operations in a single WebQ HTML page.

Forms Right-click menus

Objects Delete class buttons

Objects Local class buttons (used for local searches with the cqlocal relation set)

Objects Selected class buttons (only active when a record is selected)

Objects IC Scripts attached to buttons

Browsers In-Form Browsers

Issue 1.0 June 2002 35

Page 36: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 2 WebQ Pages

36 WebQ Reference

Page 37: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

CHAPTER 3SECURE COMPUTING WITH WEBQ

Dealing with the World Wide Web and contemplating outside access to proprietary corporate data requires an analysis of potential security concerns. This chapter discusses two types of security you can set up with your WebQ applications, under the following sections:� �Access Security with NSAPI Protocols� on this page � Using NSAPI (SSL and S-HTTP) to

provide access security� �Data Security,� on page 42 � Using non-NSAPI methods to provide data security

Access Security with NSAPI ProtocolsWebQ supports secure computing through the use of Netscape�s Secure Socket Layer (SSL) and Secure HTTP (S-HTTP) protocols. Secure transactions on the Web require support for SSL. These protocols are implemented through Netscape Server Application Programming Interface (NSAPI).

NSAPI, or Netscape Server Application Programming Interface, allows the developers to extend the native capabilities of a Web server. Three environments, CGI, Java, and JavaScript form the basis for Netscape�s Internet Application Framework. Examples of NSAPI usage include user specific access control mechanisms, user authorization, and event logging.

The common point among these items is the message. Messages transferred over the Internet are publicly accessible. Anyone interested in reading these messages can read them. Security technologies have developed over the years to make the communication private. SSL, or Secure Socket Layer, is an Internet protocol that secures the communication channels between a sender and a receiver. Architecturally, SSL is layered above TCP/IP and below application protocols such as HTTP and FTP. SSL provides three distinct security services:� Mutual authentication to identify your communication partner (and to allow yourself to be

identified).� Message encryption to make message unreadable to unauthorized readers.� Message integrity to guarantee message contents are not altered.

37

Page 38: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 3 Secure Computing with WebQ

Security for these messages can be implemented a number of different ways. One of the most common implementations is through CGI. The problem with CGI, however, is that for each CGI function call, a new process is created. These new processes create two different problems:� Physical overhead as the server initiates new individual processes for thousands of users.� Process initialization time.

Using NSAPI as a library function running inside the same process context as the Web server eliminates the significant overhead of both of these items.

WebQ and NSAPIWebQ supports SSL (Secure Socket Layer) and S-HTTP or HTTPS (Secure HTTP) through the Netscape API. Most current Web servers (Apache, Netscape, Microsoft, etc.) support SSL and S-HTTP (or their derivatives). WebQ supports the SSL and S-HTTP environments by integrating the WebQ Router with the Netscape Enterprise Server as a service thread.

Migration ImpactIf you are developing WebQ for the first time, there is no migration impact. If you are migrating from a previous version of Netscape you must add the appropriate HOST and PORT information to your WebQ pages, if you are using multiple WebQ Servers. For additional information about migrating your WebQ application, see the Migration Guide.

Implementing NSAPI Security with WebQImplementing NSAPI security to your WebQ environment requires these steps:1 Purchase and install of one of these HTTP servers:

� Enterprise Server version 3.6.1 or higher� Sun ONE Web Server (formerly iPlanet)

WebQ Client

Network

WebQ Client

WebQ ClientNSAPI Router

Service

WebQServer

Server - httpd processSSL

WebQServer

WebQ Client

38 WebQ Reference

Page 39: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Access Security with NSAPI Protocols

2 Install the WebQ Router.

3 Add the WebQ NSAPI router configuration definition to the Netscape server obj.conf file.

4 Configure the NSAPI service on:

� UNIX by running the UNIX configuration script� NT/2000 by using IC Manager� UNIX and NT/2000 by editing the obj.conf file

5 Configure the WebQ Router with IC Manager and set the PollInterval and Servers subkey (requires host and port number) to identify the WebQ Servers for which the router is configured.

6 Install a certificate management system. For more information about Netscape certificate management, see http://enterprise.netscape.com/products/identsvcs/certmgmt.html.

Note: NSAPI must be present on the server when you install WebQ Router with the Avaya� Interaction Center Servers.

Netscape Enterprise Server or Sun ONE Web Server

Purchase and install the Enterprise Server from Netscape (http://enterprise.netscape.com/products/contentsvcs/enterprise.html) or the Sun� ONE Web Server (formerly iPlanet) from Sun (http://wwws.sun.com/software/products/web_srvr/home_web_srvr.html). Follow the installation and configuration instructions that accompany these servers.

Install the WebQ NSAPI Option on NT/2000

When you install the CRM Servers, the installation process automatically checks whether NSAPI is present. If NSAPI is present, the WebQ NSAPI Router is installed.

When you have completed the installation, IC Manager lists all of the Avaya IC servers installed on this host. It does not distinguish between the WebQ NSAPI Router and the standard WebQ Router.

Configure the WebQ NSAPI Router on NT/2000

Configuring the WebQ NSAPI Router on NT/2000 requires two steps:� Add the router as a service thread to the Netscape Server.� Use IC Manager and configure the ports and WebQ Servers for which the WebQ NSAPI Router

provides service.

Note: Always use the forward slash (/) instead of the backslash (\) in all file paths.

Issue 1.0 June 2002 39

Page 40: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 3 Secure Computing with WebQ

Add the Router as a Service Thread

The WebQ NSAPI Router installs as a service thread within your HTTP server to conserve overhead and boost performance. To add the WebQ Router, you must edit the following two high level areas in the obj.conf file:� INIT area which initializes the object. The shlib variable must point to the directory containing

wqrtr.dll. Typically this directory is in the <IC_install_dir>/bin for NT/2000 where <IC_install_dir> is the installation directory.

� Object Configuration area which defines objects as they are initialized.

Note: Because the WebQ NSAPI service runs as a thread within the Netscape Server, you cannot start or stop the NSAPI service with IC Manager. The NSAPI service can only be started and stopped as part of the Netscape server.

To add the WebQ Router as a service thread:1 Open the obj.conf file.

2 Edit the following two high-level areas in the obj.conf file:

� In the INIT area, after this line:Init fn=”load-modules”funcs=”wq_process_req,read_cfg”shlib=”c:/Avaya/IC6/bin/wqrtr.dll”

Init fn="read_cfg" errorString="Failure Initializing the WebQ Router"

� In the Object Configuration area, add the following lines:<Object name=”webq”> Service fn=”wq_process_req” method=(GET|POST)</Object>

3 After this line:

NameTrans fn="pfx2dir" from="/help/WebQ" dir="d:/netscape/manual/https/ug"

Add this line:

NameTrans fn=assign-name from=/webq* name=webq

4 Move this section:

<Object name="webq">

Service fn="wq_process_req" method=(GET|POST)

</Object>

to above this section:

<Object name="cgi">

ObjectType fn="force-type" type="magnus-internal/cgi"

Service fn="send-cgi"

</Object>

40 WebQ Reference

Page 41: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Access Security with NSAPI Protocols

5 Change the login.htm ACTION line to:

https://<Netscape_server_machine>/webq/customerq.htm

This will make the next request go to port 443 (HTTPS secure port) on <Netscape_server_machine> and then cross-reference �webq� in the obj.conf file.

The plug-in will then respond and find the next available WebQ server in its list and broker the request on to that WebQ Server to get a login and a session. Then the WebQ Server will serve the main menu (customerq.htm) back through the WebQ NSAPI Router plug-in to the �client� browser.

Configure WebQ Router in IC Manager

Use IC Manager to configure the WebQ Router. The WebQ Router requires you to:� Add the poll interval (how long to wait before polling the WebQ Servers).� Add the HOST and PORT information for the WebQ Servers.� Change the AppDefault setting to one that reflects your application�s name.

To configure the WebQ NSAPI Router in IC Manager: 1 Invoke IC Manager on the machine containing the Netscape Server and WebQ Router.

2 Change the poll interval. The suggested setting is 60.

3 Click the ellipsis button to open the WebQ Servers dialog box.

4 Add the names of the WebQ Servers and the port number by which you access the servers.

5 Click OK to save the configuration.

6 Exit IC Manager and restart the Netscape Server.

Install and Configure the WebQ NSAPI Option on UNIX

The WebQ installation script automatically installs the WebQ NSAPI binary. After installing, you must configure the WebQ NSAPI Router.

Add the Router as a Service Thread

The WebQ NSAPI Router installs a service thread binary on your HTTP server. To enable the WebQ Router as a service thread you must edit the obj.conf file to initialize the binary. The obj.conf file contains two high-level areas that must be edited. These areas are the:� INIT area, which initializes the object. The shlib variable must point to the directory containing

the wrtr.so binary and to the directory holding the router configuration (router.cf) file.

In the Init area, add the following with each Init on one line:

Init Findlay-modules” funcs=”wq_process_req,read_cfg” shlib=”/q/ic60/ora_sol/ic60/addons/sun4-5/wqrtr.so”

Init fn=”read_cfg” cfgfile=/q/<IC_install_dir>/ora_sol/avaya/apps/custq/router.cf errorString=”Failure Initializing the WebQ Router”

Issue 1.0 June 2002 41

Page 42: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 3 Secure Computing with WebQ

� Object Configuration area, which defines the objects as they are initialized. Add these lines:<Object path=”/export/home/netscape/docs/webq/*”>Service method=”(GET|POST|HEAD)” fn=”wq_process_req” </Object>

router.cf

The UNIX router.cf file contains the poll interval, servers to monitor and the appropriate port numbers.

NSAPI Router UNIX Configuration File********************************************

PollInterval 60

# Servers to monitor (hostname, port number)

Server paulton.avaya.com 8090

*********************************************

Data SecurityThis section offers suggestions for maintaining a secure WebQ implementation without using any SSL (Secure Socket Layer) protections.

Request AuthenticationAll requests from a Web browser to the WebQ Server require authentication:� The initial request must contain a valid user ID and password.� Subsequent requests must:

� Use a unique session identifier that WebQ assigns once it verifies the user�s login ID and password.

� Be received within a time-out period from the previous request for that session.

ConnectionsWebQ uses the Data Connector Server as a proxy server between WebQ and the database.

FirewallsThe choice of where to position the WebQ Server depends largely on where your site currently puts its externally-accessible mail, FTP, and standard HTTP servers.

42 WebQ Reference

Page 43: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Data Security

The WebQ Server can reside either behind a firewall with access to the WebQ port through the firewall, or outside the firewall with special access granted for the WebQ Server machine to access the Data Connector Server located behind the firewall.

Caution: Direct access between the WebQ Server outside the firewall and the database behind the firewall requires more complex firewall configuration with some databases, and requires extra precautions to ensure no one can gain unauthorized access to the database with standard database access tools. Therefore, Avaya recommends against that approach.

In the first case multiple connections from the outside go through the firewall to the WebQ Server.

In the second case, only one connection between the WebQ Server and the Data Connector Server goes through the firewall. The Data Connector Server resides behind the firewall with normal access to the database. Only Avaya applications can use the Data Connector Server to access to the database. Nevertheless, access to the Data Connector Server should only be permitted from the WebQ Servers on the outside of the firewall.

!

HTTP server

WebQ Server

Avaya Interaction Center database(Microsoft SQL Server, Oracle, or DB2)

Fire

wal

l

Data Connector Server

HTTP server

WebQ Server Avaya Interaction Center database(Microsoft SQL Server, Oracle, or DB2)

Fire

wal

l

via Data Connector Server

Issue 1.0 June 2002 43

Page 44: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 3 Secure Computing with WebQ

In some environments, there are (logically) two firewalls�one between the internet and a �gateway� network containing various servers such as mail, FTP, HTTP, and WebQ, and another between this gateway network and the corporate intranet. This is sometimes referred to as a DMZ Network. No direct access is allowed between the internet and the intranet. Access to some services from the intranet such as HTTP and mail use proxy servers on the gateway network.

Assuming the database is inside the intranet, WebQ requires that users access the WebQ port from the outside through the first firewall and then requires special access through the second firewall to the Data Connector Server which can then access the database.

By default, WebQ listens on a non-privileged port (7000) and in many cases firewalls are only configured to bar access to privileged ports (ports 1 - 1023). You may want to run WebQ on a privileged port. On UNIX, WebQ must run with root privilege to do this.

Monitoring WebQ ActivityTo determine which users have logged into WebQ and see the pages that they have accessed, review the log file <IC_install_dir>/wq60/logs/<appname>_access.log. For information on setting WebQ log file path, see IC Administration Volume 1: Servers & Domains.

Constraining SearchesWhen a customer queries the database, WebQ automatically adds the webqauth record for that user to the QBE (query by example) data to be included in the search. If the relation set being used to perform the search includes a relation that references the webqauth table, then this information will be used to constrain the search.

Avaya IC includes a default relation set named r_contact that specifies the customerwebqauth relation, ensuring that customers can only see their own contacts. If you want customers to be able to see all contacts made by anyone in their organization, you can change the relation set to use the orgwebqauth relation instead of the customerwebqauth relation.

If you want to create alternative constraints on searches, you can add a relation between webqauth and any other table in your data model.

Additional information about WebQ security, specifically about implementing NSAPI-based security, can be found in �Access Security with NSAPI Protocols,� on page 37.

44 WebQ Reference

Page 45: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

CHAPTER 4TROUBLESHOOTING

This Troubleshooting chapter contains the following sections:� �Preventing and Debugging Problems,� on page 45� �Login Problems,� on page 47� �Problem-Solution Table,� on page 49

Preventing and Debugging Problems

Quick Checks� Is the WebQ process really running?

On NT/2000, check the Task Manager to see if the WebQ is running. On UNIX, use the ps command.

� Is the WebQ port unique?

You can open a DOS window and run netstat to view a snapshot of the ports currently in use on your machine. Note, for instance, that port 80 is not listed unless you run netstat while your browser is connected and active.

You can also refer to RFC 1700 for Internet assigned numbers.

LoggingOne of the most powerful tools you can use are the access and error logs. Generally, they are named after the application (helpq_error.log or custq_access.log, etc.). The log file names and log levels are specified in IC Manager.

Note: The error log is overwritten each time WebQ restarts while the access log is appended. It may be important to back up your error log that you do not lose valuable historic logged data.

Depending on the LogLevel (NT/2000) setting, the error log can contain errors, warnings, and SQL streams. Both the access log and the error log are date/time stamped, but each use a different date/time format.� Set the LogLevel on the WebQ Properties tab in IC Manager to 2 and restart the WebQ process.

45

Page 46: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 4 Troubleshooting

� Take note of the exact date/time the problem occurs.

The first log to look at is the access log. The entries are in chronological order, and entries include each user connection and disconnection, each HTML page accessed, and results (OK or failed). Note that the user connection is first identified by address ([email protected]), and thereafter by an assigned session ID (SID) numeric value.

Using the time of the error, you can locate the action that occurred at or before that time:� If the problem relates to the WebQ server hanging or crashing, you may be able to see what the

final activity was before it happened.� The access log shows when an update fails.

For more detail, take note of the exact date/time (to the second) of the failure, and then view the information in the error log to make sure:� The entries are in chronological order.� Errors occur in all caps (�ERROR� or �WARNING�), and are easy to locate using the search

function of Notepad or other text viewer.� Cross-reference the error/access logs by date/time.� Take note of the SQL stream output, which may reveal query issues (or outright database server

rejection errors).� Also look at the database server�s own error logs.

Using LOGMESSAGE MethodA useful tool when debugging WebQ problems is the LOGMESSAGE method. With this function you can write runtime variable values to the webq_errors.log file.

Example:

LOGMESSAGE "Variable custName has value: " & custName

Changing HTMLBecause WebQ uses HTML, you can make minor, incremental changes (tests) without restarting WebQ. (Simply reload or refresh the frame from the Web browser.)

Be sure to back up HTM or HTML files before altering them, and do so incrementally by .<date> so that browse.html becomes browse.html.081598.

Use �View Source� in the Web browser to see what actual values substitute for the HTML extensions WebQ recognizes.

46 WebQ Reference

Page 47: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Login Problems

Login ProblemsTwo login problems and their solutions are presented in this section. Additional login problems are presented in the �Problem-Solution Table,� on page 49.

Invalid User or PasswordProblem: When trying to connect to WebQ, you get this error (auth.htm):

WebQ: Invalid User or Password

Sorry, but the username or password you have provided is not valid.

Summary of solution: Check for a condition on the webqauth table alias. Remove a non-standard condition.

To solve this invalid user or password problem:1 Use the Back button on your browser to return to your login page.

2 Reenter your name and password.

3 Check the following:

a Does the database user for WebQ work from the PC client?

b Have there been any recent changes to the webqauth record for the user who cannot connect (password, links)?

c Are there any permissions on the q_webqauth module or webqauth table?

4 Make sure IC Manager has q_webqauth as the focus and webqauth as the table (HelpQ uses webqauthint)

5 Add DebugLevel 3 to the "Misc" settings in IC Manager.

6 Restart WebQ and look at the error log. In particular, look for:

SELECT ... FROM webqauth ...

7 Take the SQL output and try it directly against the database using a database query tool.

8 Try this query, using a database tool, as the same user that WebQ connects to the database as:

SELECT pkey,orgwebqauth,customerwebqauth,employeewebqauth,username,password,usertype,agentwebqauth FROM webqauth WHERE (webqauth.username= 'avaya') AND (usertype=0)>

Based on this example, the design (custq.adl) was found to have:

DEFINE TABLESET webqauth WITH TABLES

customer,

webqauth

Issue 1.0 June 2002 47

Page 48: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 4 Troubleshooting

CONDITION "usertype=0"

which is not standard.

9 To solve this problem, remove the condition from the Design Tool for the webqauth alias in the webqauth tableset. Then upload the design and restart WebQ.

User Not Found in Agent TableProblem: In a WebQ log, you see a message like �user not found in table.� This means that the current user who is creating a call or a defect has not been marked with the Support Role in the employee table. This relates to the role of Agent for calls, or Reporter for defects.

Summary of solution: Add the missing Support Role to the employee table.

To solve this �user not found� problem:1 Open the WebQ log.

2 In the case of a call, compare the log to this sample WebQ log:

[2001-10-11 01:50:37.261] Report QWPROXY-8: "F_SELECT( SELECT

pkey,manageremployee,orgemployee,loginname,employeeid,availability,firstname,

lastname,fullname,soundex,title,department,building,site,location,mailstop,

phone,phone2,email,fax,pager,webpage,communicatepref,supportrole,ownerrole,

managerrole,notes,signature

FROM custq.employee agent WHERE (loginname = 'someuser') AND (agent.supportrole

= 1),-1)" [t@94831]

[2001-10-11 01:50:37.269] ERROR QWBSEXT-1: "IC Script: <user

someuser not found in agent table>" [t@94831]

[2001-10-11 01:50:37.326] ERROR QWBSEXT-1: "IC Script:

<>" [t@94831]

3 In the case of a defect, compare the log to this sample WebQ log:

[2001-10-11 02:19:10.626] Report QWBSEXT-2: "QScript:

<Running script: DefectUpdate>" [t@95240]

[2001-10-11 02:19:10.629] Report QWPROXY-8: "F_SELECT( SELECT

pkey,manageremployee,orgemployee,loginname,employeeid,availability,firstname,

lastname,fullname,soundex,title,department,building,site,location,mailstop,

phone,phone2,email,fax,pager,webpage,communicatepref,supportrole,ownerrole,

managerrole,notes,signature

FROM custq.employee reporter WHERE (loginname = 'someuser') AND

(reporter.supportrole = 1),-1)" [t@95240]

[2001-10-11 02:19:10.635] ERROR QWBSEXT-1: "QScript: <user

someuser not found in reporter table>" [t@95240]

[2001-10-11 02:19:10.635] ERROR QWBSEXT-1: "QScript:

<>" [t@95240]

48 WebQ Reference

Page 49: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Problem-Solution Table

Problem-Solution Table

Problem Solution

Cannot start WebQ Router: error 2140, wq_http_init_listener

In WebQ Router settings, use hostnames instead of IP addresses.

When configuring WebQ, error message states ""Started, invalid license ignored.�

Contact your Avaya Customer Service to get a valid WebQ license.

WebQ does not start Make sure that:� The IC Data Source is pointing to the correct database and

correct Data Connector Server

� The DBUser and DBPwd values in the WebQ configuration are specified correctly

� The Application name configuration parameter is specified correctly

� The Port number in the configuration is not being used by some other executable

� The destination directory for the Log Files specified in the Configuration has read-write permissions

� �Login.htm� file is pointing to the correct WebQ Server

WebQ login returns �URL Not Found� Make sure that the Pages path and IndexName configuration parameters are specified correctly.

WebQ login returns �Invalid user or password, QWDC-0850, Connection <custqConnection> not found.�

Check the configuration file for the path of the IC Data Source being used. It is possible that it could be pointing to data source that the application is not using. Once you have noted the entire path of IC Data Source, manually go to that file and check the connection information.

WebQ login returns �Invalid User� Verify the username/password in the webqauth table in your database. This can be done by bringing up the VB client and checking the WebQ Authorization tab in:� Administration focus for HelpQ agents and customers, and

CustomerQ agents

� Customer Management focus for CustomerQ customers

If the application is HelpQ, make sure that the AuthTable parameter points to webqauthint table and not webqauth table.

WebQ login returns �Too Many Users. Maximum number of users supported = -1�

Make sure you have a valid license code for WebQ. The number of concurrent support agents allowed on the WebQ Server is governed by that code.

Issue 1.0 June 2002 49

Page 50: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Chapter 4 Troubleshooting

When migrating from WebQ 5.5.1 or 5.6 while maintaining the old directory structure, WebQ appears to work until someone tries to change a record. Locking or similar errors then occur.

See the workaround in Migration Guide.

Search in WebQ always returns 0 matches

Check the MaxRecords setting in the configuration file and make sure that it is not set to 0 (zero).

Update in WebQ returns �Update Failed, No Message�

Verify that the errors directory setting is correct in the configuration.

Verify that the error files are copied to the error directory.

Set the WebQ Log-Level configuration to 3 (DebugLevel on UNIX installation). Re-start WebQ and run the Update command. Check the ErrorLog for errors on update. Contact Avaya technical support with the error log information.

WebQ request returns �Session Timeout�

Increase the Session Timeout Interval specified in the configuration file.

WebQ request returns �Invalid Session�

Either the session has been inactive for Session Timeout + Session Clean Up time period, or the WebQ Server has been stopped and started.

You can increase the Session Timeout and Session Clean Up periods in the WebQ Configuration file.

WebQ Report Writer returns �<table.field> not found�

The focus does not contain the right tables to run the current report.

WebQ tabs: Clicking on �Main Menu� returns URL not found.

Check the document directory for the <application>.htm file.

WebQ customer cannot create records.

The webqauth record is not linked to a customer/customerint record.

DBUser/DBPwd specified in the config file does not have an agent record corresponding to it.

WebQ Help Pages are not found. Make sure that the help directories are copied from the OOTB <IC_install_dir>\IC60\help\webq

WebQ Update Errors do not show the IC Scripts message.

Make sure that the error directories are copied from the OOTB pages/error

WebQ Change Buttons results in �Record is currently locked by other user�.

Another user is currently locking the record you are trying to update.

Problem Solution

50 WebQ Reference

Page 51: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

INDEX

Symbols#echo, WebQ command 28#foreachmultioption, WebQ command 29#foreachrecord (data), WebQ command 28#foreachrecord (table), WebQ command 29$#field 25$#table.field 25$@field [email protected] 25${name} 25$BROWSER 25$BVERSION 25$C 26$D 26$DATE 25$FILE 25$INDEX 25$MATCHES 26$name 25$NRECORDS 26$P 26$SID 26$TABLE 26$TIME 26$UPDATEOK 26$USERNAME 26$WEBQ.{field} 26

Aaccess to WebQ 11adding OR function to WebQ 13anchor table alias 33architecture, with Business Application 10authentication

requests requiring 42table 11

Cclient sessions 10customer capabilities 9

Ddatabase

connections 42elements as variables 25

Eeducational services 7error pages 23

Ffirewalls 42form area, in WebQ 31

Ggenerating Web application 20

Hhelp pages 23HOSTNAME for WebQ NSAPI service 41HTML, modifying in pages 46HTTP server 10

Iinactive session, time-out period 12installing

Java applet 13OR function to WebQ 13

JJava applet

installing 13using 13

Llogin

Login page 21login process 10troubleshooting 47

51

Page 52: Avaya™ Interaction Center · Avaya™ Interaction Center Release 6.0 WebQ Reference DXX-1068-00 Issue 1.0 June 2002 2002, Avaya Inc.

Index

Mmonitoring WebQ activity 44

Nnaming WebQ pages 33

OOR function

adding 13installing 13

Rreference ID 27

Ssearches, constraining 44security

access security with NSAPI 37data security 42

authentication 42connections to database 42constraining searches 44firewalls 42monitoring activity 44

session ID, maintaining state information 11session-specific variables 25starting a WebQ session

connecting directly 22using a Login page 22

state information, maintaining 11support agent capabilities 9syntax of WebQ commands 27

Ttable rules 34

troubleshooting 49HTML 46logging 45login problems 47quick checks 45

UUNIX, running WebQ on 10

Vvariables

in WebQ pages 26referring to database elements 25

WWebQ

anchor table alias 33customer capabilities 9frames 29help pages 23java applet 13OR function 13pages 23support agent capabilities 9verifying users 21

WebQ commands#echo 28#foreachmultioption 29#foreachrecord (data) 28#foreachrecord (table) 29syntax 27

WebQ pageschanging 23convention for naming 34generating 20naming 33session-specific variables 25supported types 24that do not link to the database 21

WebQ problems. See troubleshooting.WebQ Service and NSAPI HOSTNAME 41webqauth table 21

Issue 1.0 June 2002 52


Recommended