I NTUITY ™ CONVERSANT ® System Version 7.0 Application Development With Script Builder PDF Lucent App Dev W
Intuity Conversant Ver 7 App Dev w-script builder Intuity Conversant Ver 7 App Dev w-script builder
User Manual: PDF T E X T F I L E S
Open the PDF directly: View PDF .
Page Count: 967
Download | ![]() |
Open PDF In Browser | View PDF |
INTUITY™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 108647306 January 2000 Issue 2 Copyright and Legal Notices Copyright Copyright © 2000 by Lucent Technologies. All rights reserved. Printed in the USA. This material is protected by the copyright laws of the United States and other countries. It may not be reproduced, distributed, or altered in any fashion by any entity (either internal or external to Lucent Technologies), except in accordance with applicable agreements, contracts or licensing, without the express written consent of the Business Communications Systems (BCS) Global Learning Solutions(GLS) organization and the business management owner of the material. Acknowledgment This document was prepared by the GLS organization of the BCS division of Lucent Technologies. Offices are located in Denver CO, Columbus OH, Middletown NJ, and Basking Ridge NJ, USA. Trademarks Lucent Technologies has made every effort to supply the following trademark information about company names, products, and services mentioned in the Intuity CONVERSANT documentation library: • Adobe Systems, Inc. — Trademarks: Adobe, Acrobat. • AT&T — Registered trademarks: Truevoice. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 ii Copyright and Legal Notices • CLEO Communications — Trademarks: LINKix. • Hayes Microcomputer Products, Inc. — Trademarks: Hayes, Smartmodem. • Intel Corporation — Registered trademarks: Pentium. • Interface Systems, Inc. — Trademarks: CLEO. • International Business Machines Corporation — Registered trademarks: IBM, VTAM. • Lucent Technologies — Registered trademarks: 5ESS, AUDIX, CONVERSANT, DEFINITY, Voice Power. Trademarks: FlexWord, Intuity, Lucent. • Microsoft Corporation — Registered trademarks: Excel, Internet Explorer, Microsoft, MS, MS-DOS, Windows, Windows NT. • Minnesota Mining and Manufacturing — Trademarks: 3M. • Netscape Communications — Trademarks: Netscape Navigator. • Novell, Inc. — Registered trademarks: Novell. • Oracle Corporation — Trademarks: OBJECT*SQL, ORACLE, ORACLE*Terminal, PRO*C, SQL*FORMS, SQL*Menu, SQL*Net, SQL*Plus, SQL*ReportWriter. • Phillips Screw Co. — Registered trademarks: Phillips. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 iii Copyright and Legal Notices Limited Warranty • Santa Cruz Operation, Inc. — Registered trademarks: UnixWare. • UNIX System Laboratories, Inc. — Registered trademarks: UNIX. • Veritas Software Corporation — Trademarks: VERITAS. • Xerox Corporation — Trademarks: Ethernet. Lucent Technologies provides a limited warranty on this product. Refer to the “Limited Use Software License Agreement” card provided with your package. Lucent Technologies has determined that use of this electronic data delivery system cannot cause harm to an end user's computing system and will not assume any responsibility for problems that may arise with a user's computer system while accessing the data in these document. Every effort has been made to make sure that this document is complete and accurate at the time of release, but information is subject to change. United States FCC Compliance Information Part 15: Class A statement. This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radiofrequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 iv Copyright and Legal Notices Operation of this equipment in a residential area is likely to cause harmful interference, in which case the user will be required to correct the interference at his own expense. Canadian Department of Communications (DOC) Interference Information This digital apparatus does not exceed the Class A limits for radio noise emissions set out in the radio interference regulations of the Canadian Department of Communications. European Union Declaration of Conformity Lucent Technologies Business Communications Systems declares that the Intuity™ CONVERSANT® System equipment specified in this document conforms to the referenced European Union (EU) Directives and Harmonized Standards listed below: EMC Directive 89/336/EEC Low-Voltage Directive 73/23/EEC. The “CE” mark affixed to the equipment means that it conforms to the above directives. Telecom New Zealand Ltd Warning Notices GENERAL WARNING: The grant of a Telepermit for any item of terminal equipment indicates that only Telecom has accepted that the item complies with minimum conditions for connection to its network. It indicates no endorsement of the product by Telecom, nor does it provide any sort of warranty. Above all, it provides no assurance that any item will work correctly Le Présent Appareil Nomérique n’émet pas de bruits radioélectriques dépassant les limites applicables aux appareils numériques de la class A préscrites dans le reglement sur le brouillage radioélectrique édicté par le ministére des Communications du Canada. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 v Copyright and Legal Notices in all respects with other items of Telepermitted equipment of a different make or model, nor does it imply that any product is compatible with all of Telecom’s network services. IMPORTANT NOTICE: Under power failure conditions, this device may not operate. Please ensure that a separate telephone, not dependent on local power, is available for emergency use. AUTOMATIC RE-ATTEMPTS TO THE SAME NUMBER: Some parameters required for compliance with Telecom’s Telepermit requirements are dependent on the equipment (PC) associated with this device. The associated equipment shall be set to operate within the following limits for compliance with Telecom specifications: • There shall be no more than 10 call attempts to the same number within any 30 minute period for any single manual call initiation, and, • The equipment shall go on-hook for a period of not less than 30 seconds between the end of one attempts and the beginning of the next attempt. AUTOMATIC CALLS TO DIFFERENT NUMBERS: Some parameters required for compliance with Telecom’s Telepermit requirements are dependent on the equipment (PC) associated with this device. In order to operate within the limits for compliance with Telecom specifications, the associated equipment shall be set to ensure that automatic calls to different numbers are spaced such that there is not less than 5 seconds between the end of one call attempt and the beginning of the next attempt. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 vi Copyright and Legal Notices USER INSTRUCTIONS (AUTOMATIC CALL SETUP): This equipment shall not be set up to make automatic calls to the Telecom "111" emergency service. CALL ANSWERING (AUTOMATIC ANSWERING EQUIPMENT): Some parameters required for compliance with Telecom’s Telepermit requirements are dependent on the equipment (PC) associated with this device. In order to operate within the limits for compliance with Telecom specifications, the associated equipment shall be set to ensure that calls are answered between 3 and 30 seconds of receipt of ringing. Toll Fraud Toll fraud is the unauthorized use of your telecommunications system by an unauthorized party, for example, persons other than your company’s employees, agents, subcontractors, or persons working on your company’s behalf. Note that there may be a risk of toll fraud associated with your telecommunications system and, if toll fraud occurs, it can result in substantial additional charges for your telecommunications services. Your Responsibility for Your System’s Security You and your system manager are responsible for the security of your system and for preventing unauthorized use. You are also responsible for reading all installation, instruction, and system administration documents provided with this product in order to fully understand the features that can introduce risk of toll fraud and the steps that can be taken to reduce that risk. Lucent Technologies does not warrant that this product is immune from or will Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 vii Copyright and Legal Notices prevent unauthorized use of common-carrier telecommunication services or facilities accessed through or connected to it. Lucent Technologies will not be responsible for any charges that result from such unauthorized use. Lucent Technologies Fraud Intervention and Corporate Security If you suspect that you are being victimized by toll fraud and you need technical support or assistance, call the Lucent Technologies National Customer Care Center Toll Fraud Intervention Hotline at 1 800 643-2353. Aside from whether immediate support is required, all toll fraud incidents involving Lucent products or services should be reported to Lucent Corporate Security at 1 800 821-8235. In addition to recording the incident, Lucent Corporate Security is available for consultation on security issues, investigation support, referral to law enforcement agencies, and educational programs. Documentation Ordering Information To order a document, contact the Lucent Technologies Publications Center and specify the 9-digit document number, the issue number, and the issue date. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 viii Copyright and Legal Notices Write, Call, or Fax Lucent Technologies Publications Center 2855 N. Franklin Road Indianapolis, IN 46219 Voice FAX 1 800 457-1235 1 800 457-1764 International Voice 317 322-6791 International FAX 317 322-6699 World Wide Web Use a web browser to reach one of the following sites. Click Documents and follow the instructions at the site. • Organizations within Lucent Technologies http://www.cic.lucent.com • Lucent Technologies customers and others http://www.lucentdocs.com Standing Orders You can be placed on a standing order list for this and other documents you may need. Standing order will enable you to automatically receive updated versions of individual documents or document sets, billed to account information that you provide. For more information on standing orders, or to be put on a list to receive future issues of this document, call or write the Lucent Technologies Publications Center (see Write, Call, or Fax (page ix)). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 ix Contents Copyright and Legal Notices ii Copyright. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ii Acknowledgment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ii Limited Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv United States FCC Compliance Information . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Canadian Department of Communications (DOC) Interference Information . . v European Union Declaration of Conformity . . . . . . . . . . . . . . . . . . . . . . . . . . . v Telecom New Zealand Ltd Warning Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . v Toll Fraud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii Documentation Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii About This Book xxxviii Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviii Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix How to Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix Conventions Used in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . xli Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xli Keyboard and Telephone Keypad Representations . . . . . . . . . . . . . . . . . . . . xliv Application Development with Script Builder 585-313-206 Issue 2 January 2000 x Contents Cross References and Hypertext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlv Screen Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlv Other Typography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlvi Safety and Security Alert Labels. . . . . . . . . . . . . . . . . . . . . . . . . . xlvii Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlviii Technical Assistance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlix Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlix Contact Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlix Related Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .li ELMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lii Using the CD-ROM Documentation . . . . . . . . . . . . . . . . . . . . . . . . . lii Setting the Default Magnification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii Adjusting the Window Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii Hiding and Displaying Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii Using the Button Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii Using Hypertext Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii Navigating with Double Arrow Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .liv Searching for Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .liv Displaying Figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .liv Printing the Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .liv How To Comment on This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . lv Comment Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .lvi Application Development with Script Builder 585-313-206 Issue 2 January 2000 xi Contents Contact Us Directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .lvi 1 Overview 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 What Is Script Builder? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 What Is an Application? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Transaction for a Sample Application . . . . . . . . . . . . . . . . . . . . . . . . 4 The River Bank Agent Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Caller and Agent Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Automating the Transaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Developing an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Understanding the Application Requirements . . . . . . . . . . . . . . . . . . . . 7 Defining the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 The Host Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 The Transaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Verifying and Installing the Application. . . . . . . . . . . . . . . . . . . . . . . . 15 Verifying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Testing the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Assigning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xii Contents Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Script Builder Transaction for a Sample Application . . . . . . . . . . . . . . . . . 17 For More Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2 User Interface 22 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 What is the User Interface? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Using the Screens, Windows, and Menus . . . . . . . . . . . . . . . . . . . . . . 23 Screen Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Function Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Selecting a Menu Option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Choices Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Filling in Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Moving through Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Accessing Script Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Selecting or Adding an Application . . . . . . . . . . . . . . . . . . . . . . . . . 36 Adding an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Naming an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Defining an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3 Data Management 41 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xiii Contents Data Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Field Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 System Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Field Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Field Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Field Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Formats for Input from Host Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Formats for Output to a Host Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Data Manipulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Data Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Numeric Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Character Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Data Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Comparisons of num Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Comparisons of char Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Comparisons of char and num Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Data Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4 Defining the Host Interface 81 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Defining the Host Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Defining the Host Screen Definition . . . . . . . . . . . . . . . . . . . . . . . . . 84 Starting the Host Screen Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xiv Contents Using the Terminal Emulator to Capture Snapshots of Screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Displaying Keyboard Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Taking Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Naming the Snaphots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Removing Unwanted Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Defining Screen Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Screen Identifier Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Defining Screen Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Adding a Screen Identifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Removing a Screen Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Renaming a Screen or Changing Screen Type . . . . . . . . . . . . . . . . . . . . . . . . . 110 Removing a Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Defining Screen Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Size Limit of Host Screen Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Defining a Screen Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Displaying a Screen Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Renaming a Screen Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Changing a Screen Field Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Removing a Screen Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Defining Host Session Maintenance . . . . . . . . . . . . . . . . . . . . . . . . 125 Starting the Host Session Maintenance Definition . . . . . . . . . . . . . . . . . . . . 127 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 login. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xv Contents recover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Session Maintenance Sequence Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Session Maintenance Script Rules. . . . . . . . . . . . . . . . . . . . . . Defining Get Host Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Send Host Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Login Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Logout Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Recovery Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Session Maintenance: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screen Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recover Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prevent Multiple Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delay Before Getting Blank Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Goto Label Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Creating Database Tables 143 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Database Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ORACLE Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing a Database Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a New Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Local Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 130 131 131 134 136 136 137 137 137 138 138 138 138 139 139 143 144 144 146 147 148 149 Issue 2 January 2000 xvi Contents Adding a Remote Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Database Table Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Database Table Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing the Edit Table Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Database Table Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching for a Database Table Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing a Database Table Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing a Database Table Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing a Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sharing Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restoring Local Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . Tips for Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Larger Initial Extend for Tables/Indexes . . . . . . . . . . . . . . . . . . . . . Creating a Work Around for a Table with More Than 15 Fields. . . . . . . . . . . Working Around the Limit of 10 Tables per Application. . . . . . . . . . . . . . . . . Connecting to a Remote Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Definition of a Large Database Table . . . . . . . . . . . . . . . . . . . Informing the Database DIP of Changed Definitions . . . . . . . . . . . . . . . . . . Creating Indexes for Large Database Tables . . . . . . . . . . . . . . . . . . . . . . . . 6 Defining Parameters 151 152 157 159 159 160 162 162 163 165 166 168 168 169 170 170 171 172 172 176 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Accessing the Parameters Menu . . . . . . . . . . . . . . . . . . . . . . . . . 177 Defining Business Hours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xvii Contents Hours In and Hours Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Business Hours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Call Data Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application-Specific Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Call Data Event Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Call Event Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Holidays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Holidays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Host Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Timeout Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initial Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unrecognized Screen Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Unit Availability Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reserve a Logical Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Unit Login IDs / Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Host Interface Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Seasonal Greetings . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Seasonal Greetings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Shared Host Applications. . . . . . . . . . . . . . . . . . . . . . . . . Specifying Shared Host Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Shared Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced Basic Speech and Custom Speech . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 178 180 182 182 183 184 186 188 188 191 191 192 194 195 196 196 197 200 200 204 205 207 207 Issue 2 January 2000 xviii Contents Primary and Secondary Speech Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Specifying Shared Speech Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Using Parameter Settings in the Transaction . . . . . . . . . . . . . . . . . . . 210 7 Defining the Transaction 213 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing the Define Transaction Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Action Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting and Arranging Action Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grouping Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing Action Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying the Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching in the Transaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help for Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Announce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Speak with Interrupt?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field Name/Phrase Tag/Text String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 213 216 217 217 218 218 219 220 222 224 224 225 226 229 233 233 233 235 235 Issue 2 January 2000 xix Contents Field Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the NX Field Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Announce versus Prompt & Collect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Announce Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Answer Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What the Evaluate Action Step Does. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Evaluate Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nesting Evaluate Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining External Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Get Host Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get Host Screen Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Goto Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Modify Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Prompt & Collect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prompting the Caller for Input (Page 1, PROMPT) . . . . . . . . . . . . . . . . . . . . . . Specifying Caller Input (Page 2, INPUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Caller Input Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Number of Tries Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Number of Digits Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 236 236 237 238 240 242 244 245 245 249 253 255 258 262 265 267 269 273 274 275 276 277 277 Issue 2 January 2000 xx Contents Minimum Number of Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum Number of Digits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Terminator Code Activity Status . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Terminator Code Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Repeat Code Activity Status . . . . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Repeat Code Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Erase Code Activity Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Erase Code Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touch-Tone Cancel Code Activity Status . . . . . . . . . . . . . . . . . . . . . . . . . . . Number of Tries to Get Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initial Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interdigit Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analyzing Input from the Caller (Page 3, CHECKLIST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Custom Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the Confirm Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Prompt & Collect Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prompt & Collect: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfer To and Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupt and Touch Tones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Read Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 277 277 278 278 278 279 279 279 279 280 280 280 280 281 281 282 285 290 291 301 301 304 305 306 Issue 2 January 2000 xxi Contents Table Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Search from Beginning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . First / Second Operand and Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $MATCH_FOUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Read Table Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Send Host Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Set Field Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Transfer Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfer Call To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blind Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intelligent Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Full CCA Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Non-Blind Transfer Call Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum Number of Rings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Answer Phrase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New Caller State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Goto Labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Transfer Call Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfer Call: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfer Call Performance Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Background. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 306 306 307 308 308 309 310 312 316 318 319 319 320 321 323 324 324 324 324 325 325 328 328 330 Issue 2 January 2000 xxii Contents Defining Call Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phone Number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Equipment Group Number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outcome of Call (Call Disposition). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blind Call Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intelligent Call Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Full CCA Call Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum Number of Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Call Bridge Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Call Bridge: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Call Bridge Performance Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Call Data Record Now? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Argument 1 to Argument 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Return Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Execute Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Execute: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Make Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phone Number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outcome of Call (Call Disposition). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 334 338 338 339 339 339 340 343 343 346 346 348 349 351 351 352 353 353 354 356 357 358 358 358 Issue 2 January 2000 xxiii Contents Blind Make Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intelligent Make Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Full CCA Make Call. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum Number of Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Make Call Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Make Call Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Message Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code Rate and Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum Phrase Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrase Number or Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrase Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Talkfile Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initial Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Completion Timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Start Coding At Tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hangup Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actual Phrase Length Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NX Field (Talkfile & Phrase) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Return Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Message Coding Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . Message Coding: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Message Deleting . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrase Number or Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrase Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Talkfile Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 358 359 363 363 364 366 367 368 370 371 371 372 375 375 376 376 377 377 378 378 381 383 384 384 385 Issue 2 January 2000 xxiv Contents Return Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Defining the Message Deleting Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Defining Type Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 8 Using Optional Features 390 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Text-to-Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using TTS in an Announce or Prompt & Collect Action Step . . . . . . . . . . . . . . Specifying Text or Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using TTS in the External Function tts_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text-to-Speech: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Dial Pulse Recognition or Speech Recognition . . . . . . . . . . . . . . . Defining the SP_Allocate External Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prompt & Collect Action Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Input Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the Confirm Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $CI_MODE Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $CI_RECOG Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $FINDBEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Dial Pulse Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Input Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 390 391 392 392 392 394 397 399 401 402 405 405 407 408 408 409 409 410 410 Issue 2 January 2000 xxv Contents $CI_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying DPR Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the DPR_Disable External Action . . . . . . . . . . . . . . . . . . . . . . . . . . Using WholeWord Speech Recognition . . . . . . . . . . . . . . . . . . . . . . Languages Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Input Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $CI_VALUE Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying WholeWord Speech Recognition Input . . . . . . . . . . . . . . . . . . . . . Defining the SR_Prompt External Action . . . . . . . . . . . . . . . . . . . . . . . . . . . Using FlexWord Speech Recognition . . . . . . . . . . . . . . . . . . . . . . . Languages Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Input Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $CI_VALUE Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying FlexWord Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intuity Script Builder FAX Actions Package . . . . . . . . . . . . . . . . . . . . Requirements to Use the Intuity Script Builder FAX Actions Package. . . . . . . . Fax File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How Intuity Script Builder FAX Actions Works . . . . . . . . . . . . . . . . . . . . . . . . . . Some Uses for Intuity Script Builder FAX Actions in Your Applications . . . . . . . Accessing the FAX Actions on the Script Builder Action Choices Menu . . . . . . FAX_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Send: How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 412 412 412 413 414 415 416 416 418 419 419 422 422 423 425 425 425 426 427 427 431 435 437 437 Issue 2 January 2000 xxvi Contents FAX_Send: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Send: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Send: Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Get: How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Get: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Get: Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Get: Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CovrPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CovrPage: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CovrPage: Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CovrPage: Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Queue: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exec_UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exec_UNIX: How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exec_UNIX: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exec_UNIX: Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exec_UNIX: Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concat5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concat5: How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concat5: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concat5: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concat5: Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 438 442 443 444 444 446 446 447 447 447 449 449 451 451 452 452 453 454 456 456 457 458 459 459 460 Issue 2 January 2000 xxvii Contents FAX_CNG: What It Does. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CNG: How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CNG: Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CNG: Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_CNG: Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading and Printing FAXes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sending Graphic Files and Text Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing the FAX Loading and Printing Screen . . . . . . . . . . . . . . . . . . . . . Loading the Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing the Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching for Available Faxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX_Zapper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing and Using the FAX_Zapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying FAX_Zapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Performance Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fax Broadcasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading More Than 999 Faxes into the System . . . . . . . . . . . . . . . . . . . . . . . . How to Use the faxlog Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Script Builder FAX Actions in Non-Script-Builder (TAS) Applications . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HELP Screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script Builder Action Step Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAX Transmission Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . faxit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 460 461 462 462 463 464 464 465 468 470 471 472 476 479 481 482 484 485 486 486 487 487 487 488 488 Issue 2 January 2000 xxviii Contents Error Log Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using ASAI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining A_Callinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the A_Callinfo Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining A_Tran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the A_Tran Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining A_Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the A_Event Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining A_RouteSel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the A_RouteSel Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining conv_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Data-Passing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Data-Return Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . conv_data: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Call Classification Analysis . . . . . . . . . . . . . . . . . . . . . . . . . Full CCA Call Dispositions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using PRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining ISDN_billing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requesting ANI for Inbound Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Service Type for Outbound Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining UCID Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Form Filler Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing a Form Filler Plus Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error-Handling Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 489 489 491 493 497 499 505 508 519 521 525 528 530 534 535 535 538 540 542 543 546 547 547 548 Issue 2 January 2000 xxix Contents Form Filler Plus Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Form Filler Plus Action Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using FF_Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FF_Code: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using FF_Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Form Retriever. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Form Filler Plus Transcribe Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . Form Filler Plus Review Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Form Filler Plus Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying the FFTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Parameters for your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the Transaction for your Application . . . . . . . . . . . . . . . . . . . . . . . . Customizing the FFtemplate for Your Application . . . . . . . . . . . . . . . . . . . . . Producing Speech for your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Assigning your Application to Channels or Called Numbers. . . . . . . . . . . . . Sample Marketing Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . First Form Prompt: Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Second Form Prompt: Telephone Number . . . . . . . . . . . . . . . . . . . . . . . . . . Third Form Prompt: Street Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fourth Form Prompt: City . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 548 549 549 555 558 560 562 562 563 563 567 569 574 575 576 592 595 597 597 598 599 600 600 600 601 Issue 2 January 2000 xxx Contents Fifth Form Prompt: State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sixth Form Prompt: Zip Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seventh Form Prompt: Message. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Speech Used in the Sample Marketing Application . . . . . . . . . . . . . . . . . . . 9 Speech Administration 629 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Speech Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrase Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Predefined Phrase Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inflections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced Basic Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Custom Speech. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Speech Administration Window . . . . . . . . . . . . . . . . . . . . . . . . Accessing Speech Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying Phrase Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Phrase Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recording, Editing, and Playing Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Establishing a Telephone Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recording Speech. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Encoding Speech Through the Audio Jack . . . . . . . . . . . . . . . . . . . . . . . . . . Encoding Recorded Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 601 601 602 602 629 630 630 630 631 632 635 636 637 638 640 643 645 646 647 648 652 654 Issue 2 January 2000 xxxi Contents Editing Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Playing Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Speech. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importing Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unrecorded Phrases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recorded Phrases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sharing Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restoring Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced Basic Speech Library. . . . . . . . . . . . . . . . . . . . . . . . . . Professionally Recorded Speech . . . . . . . . . . . . . . . . . . . . . . . . . 10 Application Administration 672 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying and Installing an Application . . . . . . . . . . . . . . . . . . . . . . . Verifying an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hnewscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sb_trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Backing Up an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 656 659 660 661 664 664 664 665 666 668 670 671 672 673 674 676 677 678 679 681 685 Issue 2 January 2000 xxxii Contents Backup Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Backup Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restoring an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Executing Multiple Applications . . . . . . . . . . . . . . . . . . . . . . . . . . Error and Warning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lists of Related Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Maintenance Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transaction Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Host Screen Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Database Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters Standards Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . External Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Using Advanced Features 709 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using External Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining External Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help For External Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extracting Arguments from the Execute Action . . . . . . . . . . . . . . . . . . . . . . . . . getarg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Execute Action Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 686 687 691 695 697 697 698 699 699 701 706 706 706 707 707 709 710 710 716 717 717 720 Issue 2 January 2000 xxxiii Contents Char Field Manipulation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . concat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . parse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intelligent Transfer Call Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfer Call Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . transfera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . transferb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time and Date Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u_datetime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . datetime_u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Talkfile and Phrase Manipulation Functions . . . . . . . . . . . . . . . . . . . . . . . . . pack_phrNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . unpack_phrNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Talkfile and Phrase Manipulation: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UCID Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . get_ucid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . get_uui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_uui. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fax Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 722 723 723 724 725 725 725 726 726 727 727 727 728 728 729 729 730 730 730 731 732 732 733 733 734 Issue 2 January 2000 xxxiv Contents text2fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Writing External Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEFARG(fldname, datatype,direction) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEFARG_COUNT(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Return Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Allocating Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Providing Function-Specific Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interfacing with Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identifying Similar Host Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interchangeable Host Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noninterchangeable Host Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locating External Host Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . new_screen and extract Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fancy_print Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Helper DIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using ORACLE Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mapping Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASCII Character Set Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Multilingual Applications . . . . . . . . . . . . . . . . . . . . . . . . . Language-Specific Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 734 736 736 738 738 739 739 741 742 743 746 746 747 751 751 753 756 757 759 760 761 762 764 Issue 2 January 2000 xxxv Contents A Sample Application Overview . . . . . . . . . . . . . . . . . Transaction Outline . . . . . . . . . . . Host Session Maintenance Outline . . . Standard Phrases . . . . . . . . . . . . Custom Phrases . . . . . . . . . . . . . Parameters. . . . . . . . . . . . . . . . Host Interface Screen Names and Fields Database Tables and Fields . . . . . . . Transaction and System Fields . . . . . 766 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B Developing Language Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview of Developing Language Implementations . . . . . . . . . . . . . . . Defining the Language File and Directory . . . . . . . . . . . . . . . . . . . . . Defining the Speech Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . format_tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tag_groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . format_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . proto.pl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining the TTS Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TTSformat_tfile and TTSformat_cfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Development with Script Builder 585-313-206 766 767 778 781 794 796 797 798 799 800 801 802 802 802 804 804 807 807 808 Issue 2 January 2000 xxxvi Contents Phrase List File for EBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conventions for Language Implementations. . . . . . . . . . . . . . . . . . . . Phrase Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phrase Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rules for Creating Script Subroutine Source Files . . . . . . . . . . . . . . . . . . . . Verifying Format and Consistency of Language Definition Files. . . . . . . . . . 808 809 809 810 811 812 813 Glossary 814 Index 898 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xxxvii About This Book Overview This book provides descriptions and procedures for the development, installation, and modification of applications with the Intuity CONVERSANT Script Builder application development tool. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xxxviii About This Book Intended Audience Intended Audience The intended audience for this book includes: • End customer application developers who create and maintain Intuity CONVERSANT applications for their own environment • Custom application developers who create Intuity CONVERSANT applications for end-user customers, including: ~ Custom application development organizations within Lucent ~ Application distributors, often called independent software vendors (ISVs), who distribute and implement applications for end-users We assume that the primary users of the this book have completed the Script Builder application development training course (see Training on page l). How to Use This Book This book is organized as follows: • Background information is included in Chapter 1, Overview, Chapter 2, User Interface, and Chapter 3, Data Management. Read these chapters to find out what Script Builder is, how the user interface (display screens on your video monitor) is organized, and how to describe information (data) so that Script Builder can process it. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xxxix About This Book How to Use This Book • Procedural information is included in the remainder of the chapters. Read these chapters, and then refer to them while you are developing your Script Builder application. Chapter 5, Creating Database Tables, Chapter 6, Defining Parameters, Chapter 7, Defining the Transaction, and Chapter 9, Speech Administration, are presented in the preferred sequence for defining a Script Builder application. Chapter 8, Using Optional Features, applies only to optional features. Your system will probably include some of these features. Chapter 10, Application Administration,describes procedures for administration of an application after it is written. Chapter 11, Using Advanced Features, describes the use of advanced features, which may be helpful or required for your application. • Appendix A, Sample Application, shows the Script Builder transaction and supporting files for the fictitious River Bank application, which is used as an example to demonstrate several commonly used processes. • Appendix B, Developing Language Implementations, provides information to build the language files required to support a Script Builder application when making changes to a language package. Use this book not only for necessary procedures, but also for ideas about what Script Builder can do for your business, or how to improve an application after it has been used for a while. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xl About This Book Conventions Used in This Book Conventions Used in This Book Understanding the typographical and other conventions used in this book is necessary to interpret the information. Terminology • The word “type” means to press the key or sequence of keys specified. The word “type” means to press the key or sequence of keys specified. For example, an instruction to type the letter “y” is shown as Type y to continue. • The word “enter” means to type a value and then press the EN TER key on the keyboard. For example, an instruction to type the letter “y” and press EN TER is shown as Enter y to continue. • The word “select” means to move the cursor to the desired item and then press E NT ER . For example, an instruction to move the cursor to the start test option on the Network Loop-Around Test screen and then press EN TE R is shown as Select Start Test. • The system displays menus, screens, and windows. Menus allow you to select options or to choose to view another menu, screen, or window (Figure 1 on page xlii). Screens and windows both show and request system information (Figure 2 on page xlii through Figure 5 on page xliv). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xli About This Book Conventions Used in This Book Figure 1. Example of a CONVERSANT Menu Figure 2. Example of a CONVERSANT Window Showing Information Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xlii About This Book Conventions Used in This Book Figure 3. Example of a CONVERSANT Screen Requesting Information Figure 4. Example of a CONVERSANT Window Requesting Information Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xliii About This Book Conventions Used in This Book Figure 5. Note: Keyboard and Telephone Keypad Representations • Example of a CONVERSANT Screen Showing Information Screens shown in this book are examples only. The screens you see on your machine will be similar, but not exactly the same. Keys that you press on your terminal or PC are represented as small capitalized B OL D text. For example, an instruction to press the enter key is shown as Press EN TE R . • Two or three keys that you press at the same time on your terminal or PC (that is, you hold down the first key while pressing the second and/or third key) are represented in small capitalized BO LD text. For example, an instruction to press and hold the Alt key while typing the letter “d” is shown as Press ALT + D. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xliv About This Book Conventions Used in This Book • Function keys on your terminal, PC, or system screens, also known as soft keys, are represented as small capitalized B O LD text followed by the function or value of that key enclosed in parentheses. For example, an instruction to press function key 3 is shown as Press F3 (Choices). • Keys that you press on your telephone keypad appear in small capitalized BO LD text. For example, an instruction to press the first key on your telephone keypad is shown as Press 1 to record a message. Cross References and Hypertext Blue underlined type indicates a cross reference or hypertext link that takes you to another location in the document when you click on it with your mouse. Screen Displays • Values, system messages, field names, prompts that appear on the screen, and simulated screen displays are shown in typewriter-style constant width type, as in the following examples: Enter the number of ports to be dedicated to outbound traffic in the Maximum Simultaneous Ports field. Alarm Form Update was successful. Pressto continue. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xlv About This Book Conventions Used in This Book • The sequence of menu options that you must select to display a specific screen or submenu is shown as follows: Start at the CONVERSANT Main Menu and select: > Voice System Administration > Script Builder Applications In this example, you would access the CONVERSANT Main Menu and select the Voice System Administration menu. From the Voice System Administration menu, you would then select the Script Builder Applications screen. Other Typography • Screens shown in this book are examples only. The screens you see on your machine will be similar, but not exactly the same. • Commands and text you type in or enter appear in bold type, as in the following examples: Enter change-switch-time-zone at the Enter command: prompt. Type high or low in the Speed: field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xlvi About This Book Safety and Security Alert Labels • Command variables are shown in bold italic type when they are part of what you must type in, and in blue italic type when they are referred to, for example: Enter ch ma machine_name, where machine_name is the name of the call delivery machine you just created. • Command options are shown inside square brackets, for example: Enter connect switchname [-d] [-b | -w] Safety and Security Alert Labels This book uses the following symbols to call your attention to potential problems that could cause personal injury, damage to equipment, loss of data, service interruptions, or breaches of toll fraud security: ! CAUTION: Indicates the presence of a hazard that if not avoided can or will cause minor personal injury or property damage, including loss of data. ! WARNING: Indicates the presence of a hazard that if not avoided can cause death or severe personal injury. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xlvii About This Book Getting Help ! DANGER: Indicates the presence of a hazard that if not avoided will cause death or severe personal injury. ! SECURITY ALERT: Indicates the presence of a toll fraud security hazard. Toll fraud is the unauthorized use of a telecommunications system by an unauthorized party. Getting Help The Intuity CONVERSANT system provides online help to assist you during installation, administration, and application development tasks. To use the online help: • Press F1 (Help) when you are in a menu or window. The first time you press F1 , the system displays information about the currently active window or menu. ~ When you are in a window, the help explains the purpose of the window window and describes its fields. ~ When you are in a menu, the help explains how to use menus. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xlviii About This Book Technical Assistance If you press F1 again, the system displays a General Help screen that explains how to use the online help. • Press F2 (Choices) when you are in a field. The system displays valid field choices either in a pop-up window or on the status line directly above the function keys. • Press F6 (Cancel) to exit the online help. Technical Assistance Web Site The following customer support web site contains resources where you can find solutions for technical problems: http://support.lucent.com Contact Numbers Technical assistance on the Intuity CONVERSANT product is available through the following telephone contacts: • In the United States, call 1-800-242-2121. • In Canada, call one of the following numbers, depending on your location: ~ 1-800-363-1882 for assistance in Quebec and eastern Canada ~ 1-800-387-4268 for assistance in Ontario and western Canada Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 xlix About This Book Related Resources • In any other country, call your local distributor or check with your project manager or systems consultant. Related Resources Additional documentation and training material is available for you to learn more about the Intuity CONVERSANT product. Training To obtain training on the Intuity CONVERSANT product, contact the BCS Education and Training Center at one of the following numbers: • Organizations within Lucent Technologies (904) 636-3261 • Lucent Technologies customers and all others (800) 255-8988 You can also view information on Intuity CONVERSANT training at the Global Learning Solutions (GLS) web site at one of the following web links: • Organizations within Lucent Technologies http://training.gls.lucent.com • Lucent Technologies customers and all others http://www.lucenttraining.com Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 l About This Book Related Resources The courses listed below are recommended. Other courses are available. • For technicians doing repairs on Intuity CONVERSANT V7.0 systems ~ BTT509H, CONVERSANT Installation and Maintenance Voice Information System • For technicians and administrators ~ BTC344M, Intuity CONVERSANT V7 Administration Overview (CD- ROM) • For application developers ~ BTC128H, Introduction to Script Builder ~ BTC166H, Introduction to Voice@Work ~ BTC204H, Intermediate Voice@Work ~ BTC301H, Advanced CONVERSANT Programming Documentation Appendix A, "Documentation Guide," in Intuity CONVERSANT System Version 7.0 System Description, 585-313-204, describes in detail all books included in Intuity CONVERSANT documentation library and referenced in this book. Note: Always refer to the appropriate book for specific information on planning, installing, administering, or maintaining an Intuity CONVERSANT system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 li About This Book Using the CD-ROM Documentation Additional Suggested Documentation It is suggested that you also obtain and use the following book for information on security and toll fraud issues: • GBCS Products Security Handbook, 555-025-600 Obtaining Printed Versions of the Documentation See Documentation Ordering Information on page viii of Copyright and Legal Noticesfor information on how to purchase Intuity CONVERSANT documentation in printed form. You can also print documentation locally from the CD-ROM (see Printing the Documentation on page liv). ELMO For customers with service agreements, the ELMO (Electronic Library Material Online) system is accessible to search and view over one thousand documents including system and feature descriptions, administration guides, and maintenance manuals for a vast array of systems and adjuncts at: http//www.lucent.com/enterprise/selfservice/information_resources/elmo Using the CD-ROM Documentation Lucent Technologies ships the documentation in electronic form. Using the Adobe Acrobat Reader application, you can read these documents on a Windows PC, on a Sun Solaris workstation, or on an HP-UX workstation. Acrobat Reader displays high-quality, print-like graphics on both UNIX and Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 lii About This Book Using the CD-ROM Documentation Windows platforms. It provides scrolling, zoom, and extensive search capabilities, along with online help. A copy of Acrobat Reader is included with the documents. Note: When viewing documents online, it is recommended that you use a separate platform and not the Intuity CONVERSANT system. Setting the Default Magnification You can set your default magnification by selecting File | Preferences | General. We recommend the Fit Page option. Adjusting the Window Size On HP and Sun workstations, you can control the size of the reader window by using the -geometry argument. For example, the command string acroread -geometry 900x900 mainmenu.pdf opens the main menu with a window size of 900 pixels square. Hiding and Displaying Bookmarks By default, the document appears with bookmarks displayed on the left side of the screen. The bookmarks serve as a hypertext table of contents for the chapter you are viewing. You can control the appearance of bookmarks by selecting View | Page Only or View | Bookmarks and Page. Using the Button Bar The button bar can take you to the book’s Index, table of contents, main menu, and glossary. It also lets you update your documents. Click the corresponding button to jump to the section you want to read. Using Hypertext Links Hypertext links appear in blue underlined text. These links are shortcuts to other sections or books. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 liii About This Book Using the CD-ROM Documentation Navigating with Double Arrow Keys The double right and double left arrows ( and ) at the top of the Acrobat Reader window are the go-back and go-forward functions. The goback button takes you to the last page you visited prior to the current page. Typically, you use to jump back to the main text from a cross reference or illustration. Searching for Topics Acrobat has a sophisticated search capability. From the main menu, select Tools | Search. Then select Master Index. Displaying Figures If lines in figures appear broken or absent, increase the magnification. You might also want to print a paper copy of the figure for better resolution. Printing the Documentation Note: For information on purchasing printed copies of the documents, see Obtaining Printed Versions of the Documentation on page lii. If you would like to read the documentation in paper form rather than on a computer monitor, you can print all or portions of the online screens. Printing an Entire Document To print an entire document, do the following: 1 From the documentation main menu screen, select one of the print- optimized documents. Print-optimized documents print two screens to a side, both sides of the sheet on 8.5x11-inch or A4 paper. 2 Select File | Print. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 liv About This Book How To Comment on This Book 3 Enter the page range you want to print, or select All. Note that the print page range is different from the page numbers on the documents (they print two to a page). 4 The document prints. 5 Close the file. Do not leave this file open while viewing the electronic documents. Printing Part of a Document To print a single page or a short section, you can print directly from the online version of the document. 1 Select File | Print. 2 Enter the page range you want to print, or select Current. The document prints, one screen per side, two sides per sheet. How To Comment on This Book While we have tried to make this document fit your needs, we are interested in your suggestions for improving it and urge you to send your comments to us. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 lv About This Book Comment Form How To Comment on This Book A comment form, available in paper and electronic versions, is available via the documentation CD-ROM. To use the comment form: 1 Select Comments from the Main Menu of the CD-ROM. 2 Follow the instructions provided on the CD-ROM to do one of the following: ~ Print the paper version of the form, complete it, and either fax or mail it to us. ~ Access a Lucent Technologies website where you can enter your comments electronically. Contact Us Directly If you prefer not to use the comment form, you can contact us directly at the following address or fax number. Note: Direct your correspondence to the attention of the Lucent Technologies Intuity CONVERSANT writing team. Be sure to mention the title of the book on which you are commenting. Lucent Technologies GLS Information Development Division Room 22-2H15 11900 North Pecos Street Denver, CO 80234-2703 US Fax 1 303-538-1741 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 lvi 1 Overview Overview This chapter provides application developers with an introduction to the capabilities of Script Builder and a preview of the steps required to build an application. The chapter offers a high-level overview of the Intuity CONVERSANT system Version 7.0 Script Builder. You will learn what a Script Builder application is and develop a basic understanding of how to use Script Builder. This includes how to define the application components, verify and install the application, and test the generated application. Note: Before beginning application development with Script Builder, you must have a running version of the Intuity CONVERSANT Script Builder software installed. See Chapter 8, “Installing the Optional Feature Software,” in the maintenance book for your platform. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 1 1 Overview What Is Script Builder? What Is Script Builder? Script Builder is a development tool that allows you to design and create Intuity CONVERSANT system applications that automate most functions performed by operators or agents. These include: • Listening and responding to callers • Making selections based on caller input • Accessing a host computer to retrieve, report, and update customer information • Looking up database information • Modifying database information • Transferring calls to an agent Script Builder provides screens in which you can select or enter your choices to create your applications. Extensive experience with computers and computer programming is not essential for you to understand and use Script Builder, but some experience with computers, and some experience with flowcharts or an introductory programming class would be helpful. You will be writing (defining) a transaction (the steps in an application) by selecting steps in the correct sequence to match the needs of your business. When you install your completed transaction, Script Builder creates the lines of computer code for you. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 2 1 Overview What Is an Application? What Is an Application? An application is a computer program that automates the communication between a caller and an operator or an agent. An application may be simple or complex. In a simple example, a caller requests specific information, and the system responds with the requested information. In a more complex example, a caller requests information, the system in turn asks for information from the caller, and then accesses a host computer to retrieve the information to fulfill the request. A complex application can also store input from a caller in a database or host computer. An application includes several components. Interactions with a host computer or database may be required to retrieve information about customers or about products your company offers. The parameters describe the setting of the application, such as hours of operation. The actual exchanges between caller and agent comprise the transaction. You develop an application in Script Builder by defining the transaction on the screen. The speech for the application includes the text and phrases that you want the application to be able to speak to callers. The script for an application is the computer code Script Builder creates when you install the completed transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 3 1 Overview Transaction for a Sample Application Transaction for a Sample Application River Bank is a typical bank with several employees or agents who inform callers of the current interest rates for different types of accounts and loans, give them their account balances, and transfer them to specialized customer service representatives for further information. The agents also answer a variety of other questions. Some of the information, such as interest rates, is located on paper in front of the agents. Other information, such as account balances, must be obtained from the bank’s computer. The River Bank Agent Example To understand how River Bank agents perform their job, examine a typical conversation, or transaction, between a caller and an agent. Agent: “River Bank. How may I help you?” Caller: “What is the current interest rate on your automobile loans?” Agent: (referring to a chart of interest rates) “The interest rate for our automobile loans is 7.9%. May I help you with anything else?” Caller: “Yes. I would like to check the balance in my checking account.” Agent: “What is your ID number?” Caller: “00001.” Agent: “May I have the last four digits of your social security number?” Caller: “9087.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 4 1 Overview Transaction for a Sample Application Agent: “One moment please (calls up the account balance on a terminal). Your checking account balance is $2,010.27. May I help you with anything else?” Caller: “Yes. I would like to check the balance in my savings account.” Agent: “Your savings account balance is $7,354.63. May I help you with anything else?” Caller: “Yes, I would like to speak to someone about an automobile loan.” Agent: “One moment please. I will transfer you to one of our customer service representatives.” (transfers caller to a loan officer) Caller and Agent Interactions Looking at the sample transaction, you see the following types of interactions between the caller and the agent: 1 The agent greets the caller. 2 The agent prompts the caller and receives a request for information (interest rate, account balance, etc). 3 The agent takes the following action on the caller’s request: a If necessary, the agent prompts the caller for further information (type of rate, type of account, ID number, etc). b The agent looks up the information. c The agent reports the information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 5 1 Overview Transaction for a Sample Application 4 The agent repeats Steps 2 and 3. 5 The agent ends the call or transfers the caller to a customer service representative. Most transactions include these basic steps. Based on the transaction and the caller’s request, the interaction may be simple or complex. For example, in our sample transaction, when the caller asks for an interest rate, the agent simply looks at a chart and reads the information to the caller. However, when the caller wants to know account balance information, the agent must ask for additional information (the caller’s ID number and password), use a computer terminal to type the caller’s account number, verify the password, and read the balance displayed on the screen. This simple example does not include the process of storing input from a caller in a database or host computer. Automating the Transaction When automating an application using the Intuity CONVERSANT system and Script Builder, think about your application in terms of the system replacing the agent. The transactions remain the same, but the caller interacts with the computer instead of an agent. When using Script Builder, you are building the set of instructions for the system to use during a call. The computer reads the script (resulting from the Script Builder transaction you define) for instructions about what to say and how to respond to caller inputs. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 6 1 Overview Developing an Application Developing an Application Developing an application includes the following phases: • Understanding the Application Requirements on page 7 • Defining the Application on page 8 • Verifying and Installing the Application on page 15 • Testing the Application on page 16 Understanding the Application Requirements The first step in building an application involves deciding exactly what you want the application to accomplish. You should be familiar enough with the application to be able to act as an agent for a transaction. To determine the requirements, you may want to ask yourself questions such as the following: • What services and/or assistance can you provide to callers? • What do you want to say to callers? • How will you access the information that callers request (by referencing a chart stored in a database or accessing a host computer system)? • How will you respond to callers’ requests for actions? Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 7 1 Overview Defining the Application • What do you do if the caller has a question or problem beyond the scope of the application? Defining the Application The second step in building an application is deciding what you want the application to accomplish, and relaying that information to Script Builder. To make defining the application easier, Script Builder divides the application into five key parts or components (listed in the preferred sequence): The Host Interface • Host interface • Database tables • Parameters • Transaction • Speech administration Defining the host interface means using Script Builder to tell the Intuity CONVERSANT system how to contact the host computer to exchange information. A host interface is optional and typically includes the following: • Capturing images of host login screens and customer account screens used in the transaction Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 8 1 Overview Defining the Application • Identifying areas on each screen to which information will be sent to or received from the host computer • Specifying host activities that occur in the background as opposed to the activities that occur as part of a caller transaction In the River Bank example, the agent looked at the screen of a host computer to determine the caller’s account information. For detailed information about defining the host interface, see Chapter 4, Defining the Host Interface. Database Tables You may provide either local or remote database tables for the application to use. Database tables are stored in the ORACLE Relational Data Base Management System (DBMS). An application can use these database tables for looking up data or for saving data input from the caller. Note: The database functions that are provided through the ORACLE DBMS are restricted by license to Intuity CONVERSANT system applications. To create database tables, you must specify the structure of each table and you must also provide the data to be stored in that table. In the sample application, the interest rate information is stored in a database table. To build this table, you must identify the types of accounts and loans for which the application will provide information. Then you must determine the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 9 1 Overview Defining the Application interest rate for each. For the sample River Bank application, the database table information would be similar to that shown in Table 1 on page 10. Table 1. Interest Char Account Type Interest Rate Savings 6.34% Checking 5.60% Mortgage 12.60% Auto 7.90% See Chapter 5, Creating Database Tables, for detailed information about creating database tables. Parameters You have the option of including parameters in your application, which make your instructions more general. Script Builder includes the following operating environment parameters: • Business Hours — The hours an agent is available. During nonbusiness hours, you can play a message to thank the callers and let them know your business hours. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 10 1 Overview Defining the Application • Call Data Events — Data from a call to be saved for later analysis. You can use this information to measure the service you are providing your callers, such as how long they were waiting for an agent. • Holidays — Individual days for which you want to inform callers that you are closed. You can play a message to thank the callers and let them know your business hours. • Host Interface Parameters — Data the application needs if interfacing with a host. These parameters determine the way the information is exchanged between your system and the host computer. • Seasonal Greeting — A range of dates for which the application gives a special greeting. In addition to reminding your callers of your business hours, you can also play an appropriate holiday message. • Shared Host Application — Names of up to eight applications with which this application shares host interface elements. • Shared Speech Pools — Names of applications with which this application uses the same speech phrases. For detailed information about defining parameters, see Chapter 6, Defining Parameters. The Transaction The transaction is the main part of an application. In the transaction, you provide step-by-step details of what you want to happen during a telephone call to the system. This includes the messages you want callers to hear, how Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 11 1 Overview Defining the Application the system should respond to a caller’s request, and how the system gets information from a database or host computer. To execute the River Bank sample application, the Intuity CONVERSANT system completes a set of steps similar to the following: 1 Answer the telephone. 2 Play a greeting message. 3 Prompt for and receive the caller’s request. Go to step 4, step 5, step 6 or step 7, depending on caller’s input. 4 Complete step a through step d if the caller requests interest rate information: a Prompt for type of rate. b Look in the database for interest information. c Tell the caller the interest rate. d Return to Step 3. 5 Complete step a through step f if the caller requests account balance information: a Prompt for the ID number. b Prompt for the last four digits of the social security number. c Relay the caller’s account number to the host computer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 12 1 Overview Defining the Application d Verify the social security number and get the account balance from the host computer. e Tell the caller the account balance. f Return to Step 3. 6 Transfer the caller to a customer service representative if requested. 7 Thank the caller and disconnect if the caller indicates that additional information is not needed. Each of these steps would require greater detail in an actual application, such as the exact phrases to be spoken, which host screen to send the customer ID to, etc. Substeps must also be added to cover special cases, such as when the host computer is down, there are no customer service representatives on duty, or the caller provides incorrect input, etc. However, this list gives you a general idea of the steps required for the transaction. For detailed information about defining the transaction, see Chapter 7, Defining the Transaction. Speech Nearly all applications involve playing recorded speech to the caller. Several ways of including speech in your application are: • Recording the speech using Script Builder • Importing speech from another application • Purchasing professionally recorded speech from Lucent Technologies Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 13 1 Overview Defining the Application • Sharing speech • Restoring speech (that is, from other applications) To develop your application, you may want to begin with a set of Enhanced Basic Speech phrases that are available from Lucent Technologies. Enhanced Basic Speech includes letters, digits, and commonly used phrases in different speaking inflections. Then you can add speech for phrases unique to your application by using the recording capabilities provided in Script Builder or the Graphical Speech Editor. An important part of speech administration involves planning the exact phrases you want the caller to hear and testing the phrases to be sure they sound the way you expected. As an example, for the greeting message in the sample application, decide whether you want the caller to hear “River Bank” or “Welcome to River Bank, where your account, no matter how big or small, is important to us.” Test your phrases on people who could respond as if they were your customers. The final version of your application should include speech recorded by one speaker on a single set of recording equipment. You can ensure a consistent voice for all phrases either by replacing the needed standard phrases with the voice of your choice using Script Builder, or by having Lucent Technologies record your custom phrases with the same voice used in the standard phrases. For more information about defining speech in Script Builder, see Chapter 9, Speech Administration. See Appendix A, ‘‘Enhanced Basic Speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 14 1 Overview Verifying and Installing the Application Formats’’, in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201, for phrases and languages available. This book contains detailed information about developing and including speech in your application. Verifying and Installing the Application Before you can use your application, you must have the system convert it from the Script Builder interface to a computer code script that the system can follow when responding to a call. Converting the application involves two steps: verifying and installing. Verifying Script Builder verifies that the application is complete by making sure that all aspects of the transaction are defined: all loops are closed, all labels are referred to, all required database or host computer connections are established, all needed phrases are recorded, etc. Once verification is complete, an executable version of the application is generated. Note: If the verification fails, Script Builder does not try to create an executable version. Instead, Script Builder provides you with a list of problems found. Use this list to make corrections to the application, including closing process loops and recording any required speech phrases. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 15 1 Overview Installing Testing the Application The application installation procedure may vary depending on whether a host interface definition or database is part of the application, whether it is a new or running application, and whether other applications are running on the same system. See Chapter 10, Application Administration, for detailed information on installing your application. Testing the Application Once each component has been specified and the application is installed, you should test the application to see if it accomplishes what you intended. Assigning Before testing the application, you must assign the application to a channel (an incoming telephone line) or to a number or group of numbers obtained by the system from the caller. Also, any features required by this application must be assigned to the appropriate circuit card. See Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on assigning features to circuit cards and assigning the application to a channel or to number(s). Testing Test the application by calling in and trying different transactions. Your goal is to make sure that the application performs as well as an agent to meet the needs of your business and of your callers. For example, when you request interest rate information, you want to make sure you get information on Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 16 1 Overview Script Builder Transaction for a Sample Application interest rates rather than account balances. Try to duplicate the same mistakes your callers might make to test that your reprompts work as expected. Also, it is a good idea to test your application with real callers, and to make changes based on their performance and comments Script Builder Transaction for a Sample Application Now that the steps of building an application have been introduced, review the River Bank transaction in Table 2 on page 17 to see how it looks to the caller. In the previous version of the sample transaction, the caller interacted with an agent. In the Script Builder version in Table 2 on page 17, the caller interacts with the Intuity CONVERSANT system. The results are the same in both cases — the caller receives the information requested. (See Appendix A, Sample Application, for more details of this application.): Table 2. Sample — Script Builder Transaction System: “Hello, welcome to the River Bank automated information system. For current interest rates, press 1. For your current account balances, press 2. To speak to a customer service representative, press 3. To end this call, press #.” Caller: (presses 1 for interest rates) 1 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 17 1 Overview Table 2. Script Builder Transaction for a Sample Application Sample — Script Builder Transaction System: “For savings account interest rates, press 1. For checking account interest rates, press 2. For mortgage interest rates, press 3. For automobile loan interest rates, press 4. To return to the main menu, press *.” Caller: (presses 4 for automobile loan interest rates) System: (looks in database) “The automobile loan interest rate is 7.90%.” “For savings account interest rates, press 1. For checking account interest rates, press 2, for ...” Caller: (presses * to return to the main menu, interrupting the system playback) System: “For current interest rates, press 1. For your current account balances, press 2. To speak to a customer service representative, press 3. To end this call, press #.” Caller: (presses 2 for current account balance) System: “For your current savings account balance, press 1. For your current checking account balance, press 2. To return to the main menu, press *.” Caller: (presses 2 for current checking account balance) System: “Please enter your ID number.” Caller: (enters 00001 on the touch-tone telephone) 2 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 18 1 Overview Table 2. Script Builder Transaction for a Sample Application Sample — Script Builder Transaction System: “Please enter the last four digits of your social security number.” Caller: (enters 9087 on the touch-tone telephone) System: “One moment, please. (sends caller’s account number to host computer, verifies password, receives account balance) Your checking account balance is $2,010.27.” For your current savings account balance, press 1. For your current checking account balance, press 2. To return to the main menu, press *.” Caller: (presses 1 to get current savings account balance) System: (The system already has balance information) “Your savings account balance is $7,354.63.” Caller: (presses * to return to the main menu, interrupting the system playback) System: “For current interest rates, press 1. For your current account balance, press 2. To speak to a customer service representative, press 3. To end this call, press #.” 3 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 19 1 Overview Table 2. For More Information Sample — Script Builder Transaction Caller: (presses 3 to transfer to a customer service representative to get further automobile loan information) System: “One moment, please. You are being transferred to a customer service representative.” (transfers call and ends the transaction) 4 of 4 For More Information To design an application to meet the expectations of your callers and your business, you must consider the overall system. This includes the Intuity CONVERSANT system, the end user, and the data source (which may be a separate host computer). See Intuity CONVERSANT System Version 6.0 Application Design Guidelines, 585-310-670, for important considerations to keep in mind while designing your application. Script Builder standard features are sufficient to support most applications. If you need capabilities not supported by Script Builder, you can write an external function using transaction assembler script (TAS) language, then access the function from your application. For more information on writing external functions, see Chapter 11, Using Advanced Features. You may also need to write a data interface process (DIP) to access a database or to perform complex calculations. See Intuity CONVERSANT System Version Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 20 1 Overview For More Information 7.0 Application Development with Advanced Methods, 585-313-203, for coding methods more complex than Script Builder that you can use to add special processing to your application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 21 2 User Interface Overview This chapter describes the user interface of Script Builder. It discusses how to move the cursor on the screen, open new screens, and use the function keys for initiating an action. This chapter also includes information about accessing Script Builder, creating an application, defining an application, and guidelines for application names. The purpose of this chapter is to provide application developers with information about how to use Script Builder screens and function keys, and the keyboard to select actions and to add an application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 22 2 User Interface What is the User Interface? What is the User Interface? Information displayed or requested on your video monitor is the primary means of communication with Script Builder. Although the information presented on the monitor changes often, the way the information is arranged does not. This means that whether you are creating the transaction outline, recording speech, or defining the host computer interface, screens and commands follow a consistent format and style. Although many different kinds of activities are involved in creating an application, each activity shares a common user interface. This discussion of the user interface includes the following: • Screens, windows, and menus • Function keys • Fields Using the Screens, Windows, and Menus Screens, windows, and menus are the medium through which you and Script Builder exchange information. This involves activities such as making a list of steps in a transaction, filling in a form, receiving information, or choosing an item from a menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 23 2 User Interface Using the Screens, Windows, and Menus • Script Builder screens expand across the entire Script Builder working area and allow you to view information and/or enter information as in Figure 6 on page 25. • Smaller screens, called windows, either present you with information or request information from you, as in Figure 7 on page 26. • A menu allows you to select an option such as another screen or menu, as in Figure 8 on page 26, or to select a field value. You can display more than one screen or menu at the same time, but only the last screen or menu displayed is active. To return to a previous screen or menu, you can either cancel, close, or continue the active screen or menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 24 2 User Interface Using the Screens, Windows, and Menus Figure 6. Example of a Script Builder Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 25 2 User Interface Screen Layout Using the Screens, Windows, and Menus Figure 7. Example of a Script Builder Window Figure 8. Example of a Script Builder Menu Table 3 on page 27 describes each component of a Script Builder screen, window, or menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 26 2 User Interface Table 3. Using the Screens, Windows, and Menus Components of Script Builder Screens and Menus Screen Component Description Screen title A name describing the screen or menu. Scroll bar The scroll bar for each screen indicates when a screen contains more than one page of information. If the scroll bar contains a downward arrow, you can press , P gD n , or NE XTPA G E to view the additional information. Likewise, you can press , PgU p , or PR EV PA G E to scroll back. Message line The message line contains a brief instruction or message about how to use the screen. Function keys Function keys are labels that correspond to the first eight function keys (F1 through F8 ) on your keyboard. You can display an additional set of function keys for the active screen if F8 (Chg-Keys) appears. Function Keys Function keys perform specific actions for each screen in Script Builder. Your keyboard has between eight and twelve function keys. The bottom line of each Script Builder screen displays the action associated with each function key (Figure 9 on page 28). Script Builder uses the first eight function keys, Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 27 2 User Interface Using the Screens, Windows, and Menus typically labeled F 1 through F8 . You can display an alternate set of function keys (Figure 10 on page 28) for the active screen by pressing F8 (Chg-Keys), if that key appears. Figure 9. Figure 10. Example of Function Keys Example of Alternate Function Keys The system beeps and takes no further action if you press a function key corresponding to an empty box (no action associated with the key). The function keys displayed on the screen apply only to the active screen. Several function keys perform standard actions regardless of the screen you are viewing. Table 4 on page 29 describes the standard function keys. Other functions are unique to a particular screen, such as Define, Verify, and Install. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 28 2 User Interface Using the Screens, Windows, and Menus Note: Table 4. Most of the chapters in this book provide details of how to define an application, a transaction, action steps, and fields. Function keys for the Script Builder Applications menu include F 2 (Remove), F3 (Copy), F4 (Install), F5 (Backup), and F6 (Restore). See Chapter 10, Application Administration, for more information about these functions. Standard Function Keys Command Description F 1 (Help) Displays information about the active screen, including available function key commands. To close the help screen, press F6 (Cancel). F 2 (Choices) Displays a menu of possible options for a particular field. F 3 (Save) Saves any changes you made in a screen. F 3 (Close) Saves any changes you made in a screen and closes the screen. F 3 (Cont) Continues with the specified action. F 3 (Prevpage) Scrolls to the previous page when a screen contains more than one page of information. F 4 (Nextpage) Scrolls to the next page when a screen contains more than one page of information. 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 29 2 User Interface Table 4. Using the Screens, Windows, and Menus Standard Function Keys Command Description F 4 (Redraw) Redraws the active screen. F 5 (List) Displays a menu containing the following components of the application: custom phrases, database tables, parameters, standard phrases, fields, and transaction. Select from this menu to display a list of existing values for any of these components. F 5 (Print) Prints each page of the active screen that is displayed. You must press F 5 (List) to make this option available. F 6 (Cancel) Closes the active screen and returns you to the previous screen. Any changes made are not saved unless you saved them before pressing F 6 (Cancel). Use this instead of the Close function if the Close function is not available for the active screen. F 7 (Exit) Closes the active screen, exits Script Builder, and displays the Script Builder application screen. F 7 (Discard) Discards the previous specified action. F 8 (Chg-Keys) Toggles between two available sets of function keys. 2 of 2 Selecting a Menu Option A menu contains a list of options that you can select. Selecting a menu option means that you highlight the option and press E NT ER . Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 30 2 User Interface Using the Screens, Windows, and Menus To select a menu option, use any of the following methods: • Press or to move the cursor to the menu option you want to highlight. You can scroll through the top or bottom of the menu. • Press H O M E to highlight the first menu option. Press EN D to highlight the last menu option. • Type the first character of the menu option you want. The first menu option that begins with that letter is highlighted. The following rules apply to this method: ~ This feature is not case-sensitive; therefore, you may type “a” or “A.” ~ If more than one menu option begins with the same letter, type enough letters to identify the option you want. If the cursor is already on the first letter of a menu option beginning with the same letter, type the second letter of the menu option you want. ~ To move the cursor back to the beginning of a menu option’s name, press B AC KS PAC E . Be sure to press B AC K SPA CE enough times to return the cursor to the beginning of the line. You may also press the space bar to move the cursor to the beginning of the line. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 31 2 User Interface Choices Menu Fields When a screen contains fields, you may be able to display a menu that lists possible field options and then select an option directly from that menu. Follow the procedure below to use the Choices menu: 1 Move the cursor to the field for which you want to display a list of choices and press F2 (Choices). A menu appears that lists possible field settings. Depending on the field, the menu may contain all possible settings or just common settings for the field. If the Choices menu is not available, a beep sounds. 2 Select the menu option you want. The Choices menu closes and the field option you selected appears in the active field. Fields This section discusses how to enter information and move through fields. Filling in Fields Enter, change, or delete the information in fields (Figure 6 on page 25) using the keyboard if a Choices menu is not available for the field, or if you want to enter something that is not in the Choices menu. When you enter information Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 32 2 User Interface Fields in a field, you type on the lines that are displayed on the active screen. When you enter information in a field, the following guidelines apply: Moving through Fields • In most cases, the length of the line represents the maximum number of characters allowed for that field. • Information about what you can type may appear in the message line at the bottom of the display. Some fields allow only numbers. • Once you enter information in a field, you can save the changes made, or cancel them without saving. Use the keys listed in Table 5 on page 33 to move through fields on a screen. Table 5. Keys for Moving through Fields Key Description EN TE R or TAB Moves the cursor to the next field, moving left to right. From the last field on the screen, the cursor wraps to the first field. SH IFT TA B Moves the cursor to the previous field, moving right to left. From the first field on the screen, the cursor wraps to the last field. The SH IFT TA B keys must be pressed consecutively. Moves the cursor down one field. From the bottom field, the cursor wraps to the top field. 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 33 2 User Interface Accessing Script Builder Table 5. Keys for Moving through Fields Key Description Moves the cursor up one field. From the top field, the cursor wraps to the bottom field. Moves the cursor right one character within a field. Moves the cursor left one character within a field. HO M E Moves the cursor to the first field on a screen. EN D Moves the cursor to the last field on a screen. DE LE TE , DE L Not used. Use B AC KS PAC E key to delete field characters. BA C KS PA C E Deletes the character to the left of the cursor. 2 of 2 Accessing Script Builder Once the system has been turned on, follow the instructions below to access the Script Builder program. 1 Enter your login and password at the console prompt. 2 Enter cvis_menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 34 2 User Interface Accessing Script Builder The system displays the Voice System Administration menu (Figure 11 on page 35). Figure 11. Voice System Administration Menu 3 Select > Script Builder Applications The system displays the Script Builder Applications menu (Figure 12 on page 36). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 35 2 User Interface Selecting or Adding an Application Figure 12. Script Builder Applications Menu Selecting or Adding an Application The Script Builder Applications menu contains an alphabetical listing of all the applications that are available on your system. If no applications exist on your system, ADD NEW APPLICATION is the only entry in the menu (it is always Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 36 2 User Interface Selecting or Adding an Application at the top of the list). Begin application development with Script Builder by either selecting the name of a current application or adding a new application. Note: Adding an Application If the F1 (Define) function is not displayed in the standard or alternate function keys, Script Builder has not been installed. The first step in developing an application is to name the application and add it to the list. To add a new application, do the following Steps 1 through 3: 1 Start at the Script Builder Applications menu (Figure 12 on page 36) and select >ADD NEW APPLICATION The system displays the New Application window (Figure 13 on page 37). Figure 13. New Application Window 2 Enter the name of the new application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 37 2 User Interface Selecting or Adding an Application 3 Press F3 (Save) to add the new application to the list, or press F6 (Cancel) to return to the Script Builder Applications menu without adding the application. If you pressed F 3 (Save), the system adds the highlighted new application to the list in alphabetical order. Naming an Application When creating a name for an application, use the following guidelines: • The application name must be from 1 to 11 characters in length. • Valid characters include letters (A–Z and a–z), numbers (0–9), and the underscore ( _ ). • The first character of the application name must be a letter (A–Z and a–z). The first character cannot be an underscore ( _ ) or a digit. • Names are case sensitive; that is, ABC is not the same as Abc or abc. ! CAUTION: Do not use any special characters such as punctuation in application names. Some characters have special meaning to the UnixWare operating system and may be misinterpreted when used in an application name. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 38 2 User Interface Defining an Application Selecting or Adding an Application When you are ready to begin defining an application, perform the following procedure: 1 Start at the Script Builder Applications menu (Figure 12 on page 36) and select the application name that you want to define. 2 Press F8 (Chg-Keys). The system displays the alternate function keys. 3 Press F1 (Define). If you are not on a system terminal, the system prompts you to confirm whether the terminal type you specified matches the terminal you are using. 4 Enter y to confirm or n to quit and reset your terminal type. If you enter y, the system displays an introductory screen while Script Builder is being initialized. Note: The time it takes to initialize Script Builder depends on the size of the application (especially the speech component) and the speed of your platform. It typically takes several seconds for Script Builder to initialize applications with a large number of speech phrases. Upon initialization, the system displays the Define Application menu showing the five application components (Figure 14 on page 40). See Chapter 1, Overview, for an introduction to these components. For Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 39 2 User Interface Selecting or Adding an Application specific information about how to define each component, see the chapters that follow. Figure 14. Define Application Menu The preferred sequence for defining a Script Builder application is: 1 Host interface (see Chapter 4, Defining the Host Interface) 2 Database tables (see Chapter 5, Creating Database Tables) 3 Parameters (see Chapter 6, Defining Parameters) 4 Transaction (see Chapter 7, Defining the Transaction and Chapter 11, Using Advanced Features) 5 Speech administration (see Chapter 9, Speech Administration) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 40 3 Data Management Overview While developing an application, you must describe data so that Script Builder can manage the data to meet your needs. Information in this chapter tells you how to enter or use the data in screens and define the processing required, as described throughout the remaining chapters in this book. This chapter explains how to use the following Script Builder data descriptions and processes: • Field – Where the data is stored ~ Name – How the field is identified ~ Type – How the data is described ~ Value – The information stored as data ~ Format – How the data is processed during input or output • Manipulations – How the data is used to meet the needs of your customers and your business ~ Computations – Arithmetic functions and comparisons ~ Conversions – Changing data from one type to another Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 41 3 Data Management Data Fields Data Fields Every piece of data (information) used within an application is stored in a field. The field is a location used to hold a chunk of information. Every field in your application has a unique name determined by you or by the system. Then, information in the form of data with a specified value is assigned to a field. Once data has been assigned to a field, the system refers to the field name in order to retrieve the data and determine its value. Describe each field by identifying the following: • Field name Give each field a unique name that complies with the rules described in this chapter, or use the name reserved by the system • Field type Specify what type of data is stored in the field, such as character, number, date, or time • Field value Assign (set) a value to the field, tell Script Builder how to assign a value, or use the value assigned by the system Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 42 3 Data Management • Data Fields Field format Select a format to tell Script Builder how to interpret the field value during an input or output process, such as speaking a value to a caller or communicating with a host computer Field Name Follow these rules when creating a field name: • Provide each field with a unique name. Use a field name that describes the contents of the field as completely as possible, such as interest_rate rather than int_rate. • Follow the size and character restrictions. ~ The name must be between 1 and 24 characters in length. ~ Use only alphabetic (a–z and A–Z), numeric (0–9), and underscore (_) characters in a field name. Space, punctuation, and other symbols are not valid. Since the field name cannot contain spaces, use the underscore to denote a space between words. ~ The first character in the name must be alphabetic. ~ Field names are case sensitive; that is, ABC is not the same as Abc or abc. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 43 3 Data Management Data Fields ~ When accessing a field in a database, the field name must exactly match what has already been established. The name is often in all capital letters. See Chapter 5, Creating Database Tables, for more information. ~ Examples of valid field names are interest_rate account_type rate_type balance message_3 greeting day_of_the_week ~ Examples of invalid field names are bad*&#!!characters 1st_char_not_alpha very_very_very_very_long_name • Certain names are reserved for fields used by the system. These are called system fields. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 44 3 Data Management System Fields Data Fields System fields are predefined by the system for a variety of uses. All system fields have a dollar sign ($) as the first character. Because the otherwise invalid $character is used in system field names, they are easy to identify in a list displayed in a menu. An example of a system field is $CI_VALUE. When a caller is prompted for a response, $CI_VALUE is the name of the system field that, by default, receives the caller input value (that is, the character string input by the caller using touch tones, dial pulses, or speech). Table 6 on page 45 includes the field type, size, and function for each system field. Table 6. System Variable Fields System Variable Field Field Type Function $CHANNEL_NUMBER num Channel number on which the current call is being run $CI_MODE num Stores the SSP card number $CI_NO_DIGS_GOT num Default field for the number of input digits entered by the caller on the last input attempt $CI_RECOG num Stores the recognizer 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 45 3 Data Management Table 6. Data Fields System Variable Fields System Variable Field Field Type Function $CI_TRIES_USED num Default field for the number of caller input attempts $CI_VALUE char (field size = 67) Default field for storing caller input $DIALED_NUMBER char (field size = 15) DNIS dialed digits for this call (available only with E1/T1, ASAI, and PRI interfaces) $FINDBEST char (field size = 67) Expected value of caller input to a prompt $HOURS_CLOSED num Set to 1 if HOURS feature is used and call is received off-hours $HOST_ERROR num Error code if the Get Screen action did not return a recognized screen $HOST_SCREEN num Screen name last recognized by the Get Host Screen action $LANGUAGE char (field size = 15) Contains the language specified in the Shared Speech Pools screen 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 46 3 Data Management Table 6. Data Fields System Variable Fields System Variable Field Field Type Function $MATCH_FOUND num Incremented by one for each successful READ_TABLE without a search from the top $RECORDS_CHANGED num Set to 1 if the last modify record succeeded. Otherwise, it is set to less than or equal to 0. $TRANSFER_RESULT char (field size = 3) Character code representing the result of the last transfer attempt $UNIX_TIME num UnixWare system clock time at the moment it is referenced 3 of 3 Field Type Fields can hold different types of information (data). The type of data must be described so that Script Builder can process the data properly. The following field types specify the kind of data the field can hold: • char (character) fields contain a string of arbitrary characters of varying length. Legal characters include the ASCII set. This includes letters, numbers, and any of the punctuation and special keys found on the main area of your keyboard (for example, !, #, &, ., <, and ?). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 47 3 Data Management Data Fields Each char field has a special size attribute which determines the capacity of the field (that is, the maximum length of its character string value). Field size is determined when the field is created. Field size can range from 0 (the null string) to 300 characters. (The null string constant is denoted as ““.) An example of a char type field is last_name that contains the characters that make up the caller’s last name. • num (number) fields can hold integer values ranging from the negative number -2,147,483,648 to the positive number 2,147,483,647. Each num field must begin with an integer or the minus sign. Although every num field must contain an integer, you can use a num field as a decimal value by using an implied decimal point in the field format (seen Field Format on page 51). Values larger than (+)2,147,483,647 can be accommodated into the system by dividing them into manageable parts. For example, a number that exceeds the upper limit can be brought from the host computer into Script Builder as a character string, and then divided into an appropriate number of parts so that each value is less than the limit. Note: Do not use the smallest number (-2,147,483,648) because it is reserved to indicate a noninteger character when it is being compared with a number, as described in Comparisons of char and num Values on page 75. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 48 3 Data Management Data Fields An example of a num type field is account_no that contains the caller’s checking account number. • date fields are a special case of the char fields, customized for representation of calendar dates. An example of a date type field is check_date that contains the date a check was debited against the caller’s account. • time fields are a special case of the char fields, customized for representation of the time of day. An example of a time type field is check_time that contains the time a check was debited against the caller’s account. Field Value The data in a field has a value, which is the actual information you want to store and process. The value can be assigned by the initialization process, by steps you write in the Script Builder transaction, and by the system. Initial Field Value When a caller transaction takes place, the system gives each field an initial value. It stores this value until a new value is explicitly assigned to it, either by input from the caller or by action steps in the transaction. A num field type is assigned an initial value of 0. A field of any other type is assigned an initial value of null. Null is a character string that has zero length, and is also called an empty string. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 49 3 Data Management Data Fields Note: Script Builder does not initialize system fields. If you want to initialize a system field to a specific value, such as $TRANSFER_RESULT = 0, use the Set Field Value action step as described in Chapter 7, Defining the Transaction. Assigning a Field Value A data value is assigned to a field by you or by the system. You can assign (set) a value to a field using the Set Field Value action step, as described in Chapter 7, Defining the Transaction. The system assigns a value to a field based on caller input, system responses to caller input, and processes that you instruct the system to perform through action steps in the transaction. The following rules apply to assigning a field value: • You can assign a field to a constant value. You can set a num field to a numeric value by specifying that value. You can set a char field to a string of characters by specifying the characters, enclosed in double quotes (for example, to store the characters CALICO in the char field CAR, you set CAR to “RENTAL”). You can set a date or time field to a value by specifying an appropriate character string in double quotes. • You can assign a field to the value of another field, including system fields. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 50 3 Data Management Data Fields For example, you could assign the field LOCAL_TRANSPORT to the value of the field CAR. Whatever value is stored in CAR is copied and stored in LOCAL_TRANSPORT as well. The value in CAR is unchanged. You could assign the field INPUT to the value of the system field $CI_VALUE. • You can assign a field of one type to a field value of a different type. As stated earlier, a field type determines the nature of the data stored in the field, and the type of data that you can assign to the field. For example, you should assign num fields only to integer values. However, it is sometimes useful to assign data of one type to a field of a different type. This is called a conversion. For example, you could assign a num field type to the value of a char field type. That would allow you to perform numeric computations and comparisons on the value in the char field type. Note: Field Format For data conversions, use the field formats described in Field Format on page 51 so the result meets the needs of your process (quantity and location of digits). Performing an invalid conversion yields unpredictable results. Also, see Data Computations on page 71 for other processes available in the system. You can specify a format for Script Builder to use to interpret the input or customize the output of a field each time a value is processed. Some common examples of the use of formats are to specify the correct sequence Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 51 3 Data Management Data Fields of numbers in a date and the correct number of digits after the decimal point in a number or a monetary value. Customizing the output using a format enables the system to speak data in a specified way, determined by the situation, the available speech, or your preferences. For example, you can choose to have the value in the field check_date spoken as “nine (pause) four (pause) ninety-six,” as “oh nine oh four ninety-six,” or as “September four (pause) nineteen ninety-six.” Customizing the output using a format also provides a way to present system data in a format expected at the destination (for example, the field check_date of type date containing a string of characters representing September 4, 1997). A format could be specified to allow the date to be sent to a host computer in the form it expects, such as 97-09-04. Note: When exchanging information with a host computer, you must know and comply with the form it expects so that it can process the data properly. For example, September 4 (97-09-04) must not be confused with April 9 (97-04-09). The following sections describe all available formats and provide examples of common usage. Some of the formats discussed work only with spoken output or host input or output. Therefore, formats for various cases are presented separately. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 52 3 Data Management Data Fields Formats for Caller Input Formats as such are not used for caller input. Caller input is always received as a string of one or more characters. For best results, specify a char field to accept each instance of caller input. The system field $CI_VALUE is used by default. If you specify your own nonchar field, or a char field too small to hold the input value, the value is interpreted according to the Script Builder rules, as described in Data Computations on page 71. Formats for Spoken Output Use a format for spoken output from a field so that you can specify inflection, a year expressed in either two or four digits, number of digits past the decimal point (if any), and monetary values. You specify the format in the Announce action step or in the Prompt & Collect action step. See Chapter 7, Defining the Transaction for the procedures. You can speak out information to a caller using the optional Text-to-Speech package (see Chapter 8, Using Optional Features) or one of the available languages of the optional enhanced basic speech (EBS) package (see Chapter 9, Speech Administration). You can specify spoken inflection by using: • r for rising inflection – usually the first character • m for medial inflection – usually all characters between the first and the last Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 53 3 Data Management • Data Fields f for falling inflection – usually the last character If you are using one of the optional enhanced basic speech language packages, see Appendix A, “Enhanced Basic Speech Formats”, in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201, for a complete list of formats for all available languages and more background information about the formats. Output Spoken from a char Field All formats begin with “C.” Characters are spoken in succession, with the specified inflection, if any. A null character field is spoken as a silence (pause) of no duration. If a single character within a field is not valid (for example, the ampersand symbol–&), it is ignored. Table 7 on page 54 shows formats for output spoken from a char field. Table 7. US English Examples of Output Spoken from a char Field Format Description Crmf Speak the first character with rising inflection, the last character with falling inflection, and all other characters with medial inflection (default). Crmm Speak the first character with rising inflection, and all other characters with medial inflection. 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 54 3 Data Management Data Fields US English Examples of Output Spoken from a char Field Table 7. Format Description Cmmf Speak the last character with falling inflection, and all other characters with medial inflection. Cmmm Speak all characters with medial inflection. C Speak all characters with medial inflection; same as Cmmm. 2 of 2 Output Spoken from a num Field Use a format for output spoken from a num field to specify the number of digits past the decimal point (if any), monetary values, and inflection. If a value is negative, the word “minus” is spoken. Table 8 on page 55 shows formats for output spoken from a num field. Note: Table 8. Use number formats specifying local monetary values in the available languages. US English Examples of Output Spoken from a num Field Format Description of 12345 Nmmm “Twelve thousand three hundred forty five” (all digits spoken with medial inflection); this is the default 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 55 3 Data Management Table 8. Data Fields US English Examples of Output Spoken from a num Field Format Description of 12345 N “Twelve thousand three hundred forty five” (all digits spoken with medial inflection); this is the default Nrmf “Twelve thousand three hundred forty five” (“twelve” spoken with rising inflection, “five” spoken with falling inflection, all other digits spoken with medial inflection) ND1* “One thousand two hundred thirty four point five” ND2 “One hundred twenty three point four five” ND6 “Point zero one two three four five” N$ “Twelve thousand three hundred forty five dollars” N$D2 “One hundred twenty three dollars and forty five cents” NX† Speak the phrase with a specified phrase tag (from the primary speech pool) 2 of 2 * The “D” means decimal, and the number is the number of digits past the decimal point. † This is useful for speaking phrases returned from an external function (for example, voice coding). You can also use NX to speak packed talkfile numbers and phrase numbers. See Chapter 11, Using Advanced Features, for additional discussion of the NX format, including pack_phrNX and unpack_phrNX. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 56 3 Data Management Note: Data Fields Script Builder does not support speaking numbers in the billions and trillions because most of these numbers are too big to fit into an integer variable. However, the phrases “billion” and “trillion” are included in the Enhanced Basic Speech package. If your script requires speaking such large numbers, you can write an external function that accepts a large number in the form of an ASCII string, parse the string (getting the amounts of billions and trillions as substrings), convert the three resulting substrings to integer values, then speak them with the tnum instruction inserting a talk instruction with the phrases for “billion” or “trillion” where appropriate. See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for information on the tnum and talk script instructions. Output Spoken from a date Field Date formats always begin with a D, followed by M, D, and Y (for month, day, and year expressed in two digits, or YY for year expressed in four digits) in the order desired, as shown in Table 9 on page 58. SP indicates the name of the month instead of the number. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 57 3 Data Management Data Fields Table 9. US English Examples of Output Spoken from a date Field Format Description of 112396 DMDY “Eleven (pause) twenty-three (pause) ninety-nine” (default) DMD “Eleven (pause) twenty-three” DMSPDY “November twenty-three (pause) ninety-nine” DMSPD “November twenty-three” DMSPDYY “November twenty-third (pause) nineteen ninety-nine” Output Spoken from a time Field There is one spoken time format for US English, THMAM (time, hours, minutes, AM/PM), which uses a 12-hour clock with AM and PM. For example, the value 2:30 PM is spoken as “two thirty pee em.” Note: Formats for Input from Host Computer Use a time format specifying a 24-hour clock, sometimes called military time, where it is preferred by the local country. When data is received from a host computer screen into a Script Builder host field, the format you specify when defining the field must match the way the data is stored in the host computer. The following sections describe the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 58 3 Data Management Data Fields format of data for each field. See Chapter 4, Defining the Host Interface, for more information about working with a host computer. Host Input into a char Field Input into a char field should be a string of ASCII characters. Use the C format to accept every input character received. It is the only available char input format. The C format stores the received string in the char field without making any changes to it. Host Input into a num Field A Script Builder num field holds an integer, although a real number can be used by means of an implied decimal point. An implied decimal point is understood to be to the left of the nth digit, counted from the right of the stored field value. This is often referred to as a fixed point value (as opposed to a floating point value). For data input, this means that the format can specify that n decimal places be included in the stored field value (for example, 12.34 stored as 1234). Trailing zeroes may be added to the stored value (for example, 12.3 stored as 1230), or extra decimal places truncated (removed) from the input value as necessary to match the format (for example, 12.345 stored as 1234). All num formats begin with an N. The NZ format interprets any input as a whole number, and disregards any nonnumeric characters. Leading zeroes, spaces and any nonnumeric characters are ignored. The only exception is a Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 59 3 Data Management Data Fields leading minus sign (-), which indicates a negative number. Embedded characters within the number are also ignored, including commas, hyphens, and decimal points. Note: To preserve the hyphens in a social security number, store the social security number in a character field. The NDn format (where n is a number from 1 to 9) is similar to the NZ format, except that n digits following the decimal point are preserved. The decimal point itself is not included in the stored integer value. The NDn format is useful where you want to maintain a consistent number of (implied) decimal places for later calculations and output. Most common usage is the ND2 format for monetary values (where n =2). NZ is the default format. Table 10 on page 60 shows examples of the num field input formats. Table 10. Input into a num Field Input Value Format Stored Value 0012 NZ 12 12 NZ 12 12 N 12 12.34 NZ 1234 12.34 ND0 12 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 60 3 Data Management Data Fields Table 10. Input into a num Field Input Value Format Stored Value 12.34 ND1 123 12.34 ND2 1234 12 ND2 1200 12.3 ND2 1230 12.34 ND2 1234 12.345 NZ 12345 12.345 ND2 1234 1234 NZ 1234 -1234 NZ -1234 123-45-6789 NZ 123456789 2 of 2 Host Input into a date Field Input into a date field should be a representation of month, day, and year separated by characters such as the hyphen (-), slash (/), period (.), comma (,), or blank (B). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 61 3 Data Management Data Fields Date formats always begin with a D, followed by M, D, and Y (in the appropriate order representing month, day, and year, respectively). Separator characters may be specified between the M, D, and Y as appropriate. Different separators may be used within a single date format. M, D, Y and the separators may be rearranged as necessary to match the appearance of the date in the host screen. M can be a month name or abbreviation (such as January or Jan., respectively), or a one- or two-digit value (such as 1 or 01 for January). D can be a one- or two-digit value. Y is a two-digit value representing a year in the current century (such as 97, representing 1997 or 2097 on 1/01/2000). YY can be specified where desired or necessary for a four-digit representation of the year, such as 1997 or 1891. YT can be specified when using dates in both the twentieth or twenty-first century, where is a threshold that is greater than or equal to 0 and less than or equal to 100. This threshold is defined in the host screen definition field for the application (see Defining Screen Fields on page 112 in Chapter 4, Defining the Host Interface). YT is a 2-digit year algorithm that if the year (where is the input received from the host) is less than the specified threshold, the year is translated to 20 . If the year is equal to or greater than the specified threshold, the year is translated to 19 . To determine an appropriate threshold, analyze the range of dates required per the date field from the host. For example, if the range of dates falls between 1940 and 2039, use the threshold 40. Therefore, if the format is YT40 and an input year from the host is 27, the year is translated into 2037. If Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 62 3 Data Management Data Fields the input year from the host is 45, the yar is translated into 1945. For a 100year span of 1900 through 1999, use the format YD0; for the years 2000 through 2099, use YT100. Note: The Intuity CONVERSANT system only supports a 100 year range when using a 2-digit year. Where the host computer date field is in month, day, year order, you can specify the D format. Script Builder performs the remaining interpretation automatically. Table 11 on page 64 shows the input formats for the date field. The following is a list of general rules that apply to date fields: • Date fields are stored internally as YYYYMMDD. • Database date field information must be entered as MM/DD/YY. When records are read from the local database table by the field date, the information must be retrieved as YYYYMMDD. • When editing a database for a date field, the acceptable expression is MM/DD/YY or MM/DD/YYYY. However, when the date is entered as MM/DD/YY and saved, the date appears as the MM/DD/YYYY. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 63 3 Data Management Table 11. Data Fields Input into a date Field Format Description D Date in month day year format, regardless of the separators used. The month is by digit or name, and the year is given in two or four digits. “November 23, 2005,” “11/23/05,” and “11-23-05” all interpreted as the same date) DM/D/Y Date in month/day/year in current-century format, such as 11/23/98, 01/02/01, or 1/2/01 (default). DM-D-Y Date in month-day-year in current-century format, such as 11-23-99, 01-02-01, or 1-1-01 (default) with a hyphen (-) as a separator DM.D.Y Date in month.day.year in current-century format, such as 11.23.99, 01.01.01, or 1.1.01 (default) with a period (.) as a separator DM/D/YY Date in month/day/four-digit year format, such as 11/23/1999, or 01/02/2001, with a slash (/) as a separator DMBD,BYY Date in month, date, four-digit year format, such as November 23, 1999, or January 2, 2001 DYY.M.D Date in four-digit year month.day format with period (.) as the separator, such as 1999.11.23 or 2001.1.2 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 64 3 Data Management Table 11. Data Fields Input into a date Field Format Description DM/D/YT Date in month/day/year format with a slash (/) as a separator; YT is defined in the host field definition and is compared to the input from the host to determine if the century is “19” or “20” DM-D-YT Date in month-day-current year format, with a hyphen (-) as a separator;YT is defined in the host field definition and is compared to the input from the host to determine if the century is “19” or “20” DM.D.YT Date in month.day.current year format with a period (.) as a separator; YT is defined in the host field definition and is compared to the input from the host to determine if the century is “19” or “20” 2 of 2 Host Input into a time Field Time formats are similar to date formats. The format always begins with a T, and uses H, M, S, and AM to represent hours, minutes, seconds, and AM/PM designation, respectively. The colon (:), period (.), and blank (B) characters can all be used as separators. Similar to the D (date) format, the T (time) format can be used when input is in either 24-hour clock form, or in hours, minutes, AM/PM order. Table 12 on page 66 shows the input formats available for the time field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 65 3 Data Management Table 12. Data Fields Input into a time field Format Description T Time as hours (12-hour clock):minutes AM/PM (regardless of separators used), or as hours (24-hour clock):minutes (regardless of separators used). TH:MBAM Time in hours:minutes (blank) AM/PM (default), such as 2:30 PM TH 24:M Time in hours (24-hour clock):minutes, such as 14:30 TH 24:M:S Time in hours (24-hour clock):minutes:seconds, such as 14:30:20 Note: Time fields are stored internally as TH24MS. Formats for Output When Script Builder sends data to a host computer, the format you specify to a Host Computer when defining the field should describe the data as the host computer expects to receive it. For example, dates and times must be presented in the correct order, and numbers must have the correct quantity of digits past the decimal point. The following sections describe the format of data for each field. See Chapter 4, Defining the Host Interface, for more information about working with a host computer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 66 3 Data Management Data Fields Output from a char Field to a Host Output from a char field should be a string of ASCII characters. Use the C format to send every character in the field. It is the only available char output format. The C format sends the string stored in the char field without making any changes to it. Output from a num Field to a Host All formats begin with N. Values are placed left justified in the host computer screen. The NDn format specifies that a decimal point should be inserted to the left of the nth digit from the right. Leading zeroes are added as necessary. The N$ format (or N$Dn) specifies that a dollar sign ($) be placed to the left of the number. Add C to specify that commas be inserted to the left of every third digit to the left of the decimal point. Add L to specify that leading zeroes be inserted as necessary to fill the host computer field. Table 13 on page 68 shows examples using the value 12345. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 67 3 Data Management Data Fields Table 13. Output from a num Field Format Description of 12345 N 12345 (default) ND2 123.45 ND6 .012345 N$ $12345 N$D1 $1234.5 N$D2 $123.45 N$D3 $12.345 NL 00012345 (assuming a host computer field 8 digits wide) NC 12,345 Output from a date Field to a Host Date output formats are similar to date input formats. Each format always begins with a D, followed by M, D, and Y (for month, day, and year as two digits, or YY for year as four digits) in the order desired, using whatever separators are desired. One difference from the input format is the ability to Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 68 3 Data Management Data Fields spell out the month in a variety of ways. For example, SP formats the name of the month in all capital letters, whereas Sp makes the first letter of the month a capital letter followed by lowercase letters. MS formats the name of the month in the same way as SP, except the abbreviation of the month is output, whereas Ms abbreviates the month as well, but the first letter is a capital letter. Table 14 on page 69 shows examples of date output, using the date 11/23/96. Note: It is possible to mix formats and field types, for example, to use a num format with a char field. In this case, Script Builder rules of data conversion apply, as described in Data Computations on page 71. ! CAUTION: If you assign a value to a field or use a format with a field that results in output that is physically too long to fit in the allocated space in the host screen, the output is truncated (extra characters are removed). Table 14. Output from a date Field Format Description DM/D/Y 11/23/99 (default) DM-D-Y 11-23-99 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 69 3 Data Management Data Fields Table 14. Output from a date Field Format Description DM.D.Y 11.23.99 DM/D/YY 11/23/1999 DY.M.D 99.11.23 DM/D 11/23 DMSPBD,BYY NOVEMBER 23, 1999 DMSpBD,BYY November 23, 1999 DMS-D-Y NOV-23-99 DMs-D-Y Nov-23-99 2 of 2 Output from a time Field to a Host All time formats begin with T. H, M, S, and AM represent hours, minutes, seconds, and AM/PM designation, respectively. All components are optional. The colon (:), period (.), and blank (B) characters can all be used as separators. Table 15 on page 71 shows examples using the time of 2:30 PM. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 70 3 Data Management Data Manipulations Table 15. Output from a time Field Format Description TH:MBAM 2:30 PM (default) TH:M:SBAM 2:30:00 PM Data Manipulations You can direct a Script Builder application to manipulate data in the form of computations, comparisons, and conversions. Data Computations This section covers numeric and character computations. Numeric Computations You can select a field as an operand in numeric computations. The following four basic arithmetic functions are available for numeric computations: • Addition (using the + operator) • Subtraction (-) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 71 3 Data Management Data Manipulations • Multiplication (*) • Division (/) If an operand is a nonnumeric type (such as char), it is converted to num type (according to the rules described in Data Conversions on page 77) prior to the computation. Note: Character Computations If a computation results in overflow or division by zero, the resulting value is unpredictable. Computations on character strings are not directly available in the user interface. However, a number of predefined external functions are available for use. Among these are functions to determine the length of a string, concatenate two strings (put them together), search for a substring within a string, and extract a substring from a string. For further information, see Chapter 11, Using Advanced Features. Data Comparisons Standard comparisons can be accomplished between two values, with a resulting evaluation of true or false. Table 16 on page 73 shows the comparisons available. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 72 3 Data Management Data Manipulations Table 16. Operand Comparison = Equal to < Less than > Greater than <= Less than or equal to >= Greater than or equal to != Not equal to Note: Comparisons of num Values Comparison Operands If a field of type date or time is used in a comparison, it is converted to a char value prior to the comparison according to the rules described in Data Conversions on page 77. You can perform standard comparisons between two num fields and/or constants, with a resulting evaluation of true or false. A straightforward arithmetic comparison is performed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 73 3 Data Management Comparisons of char Values Data Manipulations You can perform standard comparisons between two char fields and/or constants, with a resulting evaluation of true or false. You can make comparisons to a null char field or constant (the null constant is denoted as ““). Char fields are compared using a lexicographical comparison. This means that each character of the two fields starting from the left is compared one at a time, until one field has no more characters or a mismatch occurs. If no mismatch occurs and the fields are of the same length, they are equal. If a field has fewer characters and all previous characters have matched, the longer field is greater. If a mismatch occurs, the field with the greater character is the greater field. Characters are prioritized from left to right according to the following scheme: 0–9, blank, A–Z, a–z, with other special characters scattered within these groups. Examples of the relative string comparison values are as follows: ““< any other string “12” < “2” “0123” != “123” “ABC” < “AD” “000” < “999” “999” < “AAA” “AAA” < “AAB” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 74 3 Data Management Data Manipulations “AAA” < “AAAA” “AAA” < “A.A.” The date and time fields are treated as char fields for the purpose of comparison. Note that two char fields can contain numbers that are numerically equal but are not lexicographically equal as in the previous example (“0123”). If you want a numeric comparison, then convert one or both of the fields to numeric fields before you do a comparison. Comparison between a char field (or constant) and a num field (or constant) is described in the next section, Comparisons of char and num Values on page 75. Comparisons of char and num Values It is possible to compare a char field (or constant) with a num field (or constant). The rules of char/num comparison are: • If the char field or constant represents a number (that is, it contains only digits with possible leading blanks and/or a minus sign), it is converted to a number and compared to the num field or constant. Examples are: 12 > “2” 123 = “123” “123” = 123 “0123” = 123 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 75 3 Data Management • Data Manipulations If the char field or constant contains any other characters, it does not represent a legal number. It is not valid to compare a char constant containing nonnumerics (“123a”, for example) to a number. However, if you compare a char field that contains a nonnumeric to a number, the nonnumeric will not match any typical number but will be treated as the smallest possible number. For example, a field containing “123A” will be treated as the integer -2,147,486,648 when compared to a number. Examples are: “ab12” (cannot validly be compared to a number) “123A” (cannot validly be compared to a number) Assuming C is a char field containing “ab12” or “123A”, C < 0 will evaluate to true because C = -2,147,486,648 (a noninteger). Note: An alternate technique to compare a char and a num value is to first convert the char value to a num value by assigning it to a num field (or to convert the num value to a char value by assigning it to a char field). For example, you could assign char “1 2” (“one” “two”) to a num field type and it would become “12” (“twelve”). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 76 3 Data Management Data Manipulations Data Conversions When a field type is assigned to a field of another type, Script Builder attempts to convert the value to the type of the field receiving the value. Table 17 on page 77 shows all possible types of data conversions. Note: Table 17. C, D, N, and T are fields of type char, date, num, and time, respectively. Data Conversions Conversion Result C to C If the size of the field receiving the value is less than n, the string is truncated (shortened) after the nth character. D to C If n is at least 8, it is set to a character string version of the date using a YYMD format. For example, the date 11/23/96 assigned to C sets the value of C to 19961123. If n is less than 8, C is set to the first n characters of the converted string. N to C If n is at least as large as the number of digits in the value of N (including a minus sign, if necessary), it is set to a character string corresponding to the value of N. Otherwise C is set to the first n digits of N, and any remaining digits are truncated (removed). For example, if N=1234 and n=2, assigning N to C sets C to 12. 1 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 77 3 Data Management Table 17. Data Manipulations Data Conversions Conversion Result T to C If the size of C is at least 6, C is set to a character-string version of the time using an HMS 24-hour format. For example, the time 2:12:34 PM assigned to C sets the value of C to 141234. If n is less than 6, C is set to the first n characters of the converted string. C to D If C corresponds to a valid date in the format YYMD, D is set to that date. Otherwise D is undefined and the result is unpredictable. D to D This is a straightforward assignment. No conversion is necessary. N to D This is an invalid conversion. The result is unpredictable. T to D This is an invalid conversion. The result is unpredictable. 2 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 78 3 Data Management Table 17. Data Manipulations Data Conversions Conversion Result C to N If the string being converted contains only numeric characters, the numeric characters of C are converted to a number. Any leading spaces are ignored. A leading minus sign causes N to be set to a negative number. Any other nonnumeric character causes that character and any following characters to be ignored. This includes any commas or decimal points. If no digits are left from the conversion, N is set to 0. Note that this applies only to assignments of char fields to numeric fields. Assignment of char constants with nonnumeric characters to a numeric field usually causes a problem when installing the application and is not recommended. For the following examples, assume that Cnum is a char field and Inum is a numeric field: Cnum = 1234ab (assigns the nonnumeric string to Cnum) Inum = Cnum (assigns number 1234 to Inum) Inum = 1234ab (usually generates an error message during installation) D to N This is an invalid conversion. The result is unpredictable. N to N This is a straightforward assignment. No conversion is necessary. T to N This is an invalid conversion. The result is unpredictable. 3 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 79 3 Data Management Table 17. Data Manipulations Data Conversions Conversion Result C to T If C corresponds to a valid time in the format HMS (using a 24-hour clock), then T is set to that time. Otherwise, T is undefined and the result is unpredictable. D to T This is an invalid conversion. The result is unpredictable. N to T This is an invalid conversion. The result is unpredictable. T to T This is a straightforward assignment. No conversion is necessary. 4 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 80 4 Defining the Host Interface Overview Script Builder is designed to make working with a host computer application as simple as possible. The underlying philosophy for defining the host interface can be summarized as follows: • The running application should exchange information with the host just as an operator at a terminal would. • No changes should be required of the host application to accommodate the Intuity CONVERSANT system application. This chapter includes information about defining the host interface in order to use a host computer to retrieve and process information needed for an application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 81 4 Defining the Host Interface Defining the Host Interface Defining the Host Interface The two primary goals for designing an interface with a host application are to: • Describe for Script Builder the host environment and the application, including: ~ The design of the host application screens ~ How to identify each screen by a unique feature ~ The information to be exchanged via the screens • Use host information to establish and maintain contact and exchange information with the host during a caller transaction You need to specify information in three of the Script Builder components to establish a host connection: • The Host Interface component defines the host screens and specifies the sequence of screens to be sent and received during background activities, such as logging in and out. Read this chapter for specific information. • The Parameters component defines data needed to make contact with the host (that is, the nature of the physical connections, the identification and passwords needed to log in, and performance characteristics). See Chapter 6, Defining Parameters, for additional information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 82 4 Defining the Host Interface • Defining the Host Interface The Transaction component defines the sequence of screens to be sent and received during a caller transaction, including the information to be exchanged during the transaction. See Chapter 7, Defining the Transaction, for additional information. The Host Interface component of Script Builder is divided into two main subcomponents: • Host Screen Definition You can use defined screens in the Host Session Maintenance and the Transaction components of your application. • Host Session Maintenance The Host Session Maintenance script maintains your system logged in to the host computer, waiting for transaction input from your caller. Note: This book assumes that the proper Intuity CONVERSANT system hardware and software necessary for host communications to an IBM 3270 has been installed and is ready for use. This includes the synchronous communications card and software, the 3270 device driver, physical connections to the host, and the host configuration set for your system. See the maintenance book for your platform for more information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 83 4 Defining the Host Interface Defining the Host Screen Definition Defining the Host Screen Definition To define the Host Screen Definition, the following processes are required: 1 Provide Script Builder with snapshots of the host screens. Note: Occasionally intermediate screens from the host can interfere with the functioning of an application or maintenance session. If long delays imposed by these intermediate screens are not accounted for in the application or maintenance session, that particular host session could get suspended in the recovery state. 2 Name each snapshot. Naming a snapshot allows you to refer to it, but it is still an undefined screen. 3 Create screen identifier(s). Different screens can be similar in appearance. Some information on each screen remains constant (text, prompts, etc), while other information varies (data, error messages, etc). Therefore, Script Builder must be shown one or more parts of the screen that enables it to uniquely identify the screen from all others when it arrives from the host. Note: A defined screen has one or more identifiers. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 84 4 Defining the Host Interface Defining the Host Screen Definition 4 Locate fields on the host screens. Fields are used to exchange information with the host computer. Fields are an optional part of host screen definition. For a single host screen, the total size of all fields defined must be equal to or less than 2000 bytes minus 1 byte of overhead for each host field. See Size Limit of Host Screen Field Data on page 112 for more information. Starting the Host Screen Definition To start the host screen definition: 1 From the Define Application menu (Figure 14 on page 40), select >Host Interface The system displays the Define Host Interface menu (Figure 15 on page 85). Figure 15. Define Host Interface Menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 85 4 Defining the Host Interface Defining the Host Screen Definition 2 Select >Host Screen Definition The system displays the Define Host Screens window (Figure 16 on page 86). Figure 16. Define Host Screens Window This screen lists the names of all host screens, defined and undefined, known to Script Builder. Undefined screens (those with names but not identifiers, as noted earlier), are marked with an asterisk (*). Host screens marked with an ampersand (&) designate screens that have been referred to in either the application’s Transaction or Host Session Maintenance component. However, these host screens do not actually exist yet, because they have not been defined or identified. The Define Host Screens window is empty for a new application. Note: Beneath the Define Host Screens window is a line indicating the number of captured snapshots currently available for host screen definition. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 86 4 Defining the Host Interface Defining the Host Screen Definition Using the Terminal Emulator to Capture Snapshots of Screens Script Builder uses the 3270 Terminal Emulator to emulate a 3270 terminal, and to capture snapshots of the screens used in the host application. For detailed information about using the terminal emulator, see the 3270 User’s Guide. To access the terminal emulator and start a 3270 emulation session: 1 From the Define Host Screens window (Figure 16 on page 86), press F 3 (Capture). The system displays the Capture Screen On window (Figure 17 on page 87). This window invokes the Terminal Emulator on the specified host session. Figure 17. Note: Capture Screen On Screen If you enter a specific host session that is not available, you receive a message and will need to try again. Entering all automatically assigns you to a session that is available. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 87 4 Defining the Host Interface Defining the Host Screen Definition The terminal emulation screen appears as shown in Figure 18 on page 88. You are now working from a 3270 terminal, with Script Builder ready to capture the host snapshots you specify. Figure 18. Terminal Emulation Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 88 4 Defining the Host Interface Note: Defining the Host Screen Definition After the Intuity CONVERSANT system hardware or software is reset (for example, by turning on the computer, or issuing a start_vs command), the synchronous communications hardware and software takes a few additional minutes to reset. If you press F 3 (Capture) to invoke the Terminal Emulator before it has reset, a blank screen appears. No harm has been done, however the 3270 screen appears momentarily. To avoid confusion, wait five minutes after resetting the system before invoking the Terminal Emulator. Displaying In terminal emulation mode, your keyboard is mapped to send 3270 keyboard Keyboard Mappings codes to the host according to a configuration table set up during installation. The Key Definitions option is used to display the mapping from your keyboard to the 3270 keyboard. To display this table while you are working in emulation mode in contact with the host computer, perform the following procedure: 1 Press CT RL K from the terminal emulator. The system displays the View and Define Key Definitions menu (Figure 19 on page 90), with the Program Function option highlighted. For the Program Function option, the key name shown under the Keystroke column specifies the actual key that must be pressed to emulate the respective 3270 key that is listed under the Function column. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 89 4 Defining the Host Interface Figure 19. Defining the Host Screen Definition View and Define Key Definitions Menu The Key Group menu offers several options from which to choose. For example, the Misc System option (Figure 20), includes information about how to perform specific functions, such as how to access the View and Define Key Definitions menu (Keys Ctrl+K). For detailed information about the Key Definitions, see the 3270 User’s Guide. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 90 4 Defining the Host Interface Figure 20. Defining the Host Screen Definition Misc System Option 2 Press ES C twice to exit the View and Define Key Definitions menu and return to the terminal emulator screen. Taking Snapshots Once you feel comfortable with the terminal emulator, you are ready to take snapshots. The idea is to proceed with your application, pausing to take a snapshot of each screen as you go. 1 Log on to your host computer. The system displays the first login screen. 2 Press ES C B to take the snapshot. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 91 4 Defining the Host Interface Defining the Host Screen Definition The terminal emulator displays a message confirming the snapshot (Figure 21 on page 92). Each snapshot is automatically numbered, in consecutive order, going back to the creation of the application. Numbering is for your reference and convenience. For example, snapshot 1 is the 1st snapshot taken for the given application. Figure 21. Confirmation Message of a Captured Screen 3 Press EN TE R to continue. 4 Proceed with the application, taking snapshots of host screens as you go. View all screens, including error message screens, special case screens, etc. You may not need to include every screen in your application, but it is easier to take a snapshot now and discard it later, rather than having to log in to the host computer again to capture one you missed and need to add. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 92 4 Defining the Host Interface Defining the Host Screen Definition 5 Log off the host computer when you are finished taking snapshots. 6 Exit the Terminal Emulator via the Terminal Emulation Utilities screen by pressing CT RL U to display the CLEO 3270 Customization screen. 7 Press x to exit. You may also exit the Terminal Emulator directly by pressing C TR L X simultaneously. You can restart the Terminal Emulator later by pressing F3 (Capture). This puts you where you had left the host application when you exited. Naming the Snaphots The process of naming removes the host screen image from the snapshot pool and transforms it into a Script Builder host screen. To create a screen from a snapshot: 1 From the Define Host Screens window (Figure 16 on page 86), press F 1 (Add). The system displays the Add Screen(s) screen (Figure 22 on page 94). Remember that screen names marked with an ampersand (&) have been referred to in the Transaction component, but do not yet exist as actual screens. If you highlight one of the ampersand-noted screen names before you press F1 (Add), that name is used as a default later in the Name the Screen to be Added screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 93 4 Defining the Host Interface Figure 22. Defining the Host Screen Definition Add Screen(s) Screen with Sample Snapshot Add Screen(s) ID NUMBER: CLEAR - EXIT Snapshot 10 10 o LAST NAME: PF3 - MENU Cycle through the snapshots name and remove snapshots as needed Note: This is to be the screen used to send the ID NUMBER to the host. This same image is used in the next several examples. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 94 4 Defining the Host Interface Defining the Host Screen Definition Image screens look different than the other screens in Script Builder. Image screens are similar to the snapshots taken of the host’s screens, with additional markings and notations used by Script Builder. Because the image of a host screen requires almost the full screen of your terminal, the normal screen box is not used. Furthermore, the normal banner line is replaced by the image screen title. Even with this economizing, the top and bottom lines of the host screen are obscured by the screen title and message line. 2 When it is necessary to see the top or bottom host screen line, press F8 (Chg-Keys) followed by F2 (Hide) to temporarily remove the title and message lines from the display. Press F2 (Reveal) to restore the title and message lines to the display. First, the host image from the pool of snapshots is shown, along with indication that it is “snapshot x” and that it is “y of z” snapshots in the pool and available to be named. This means that the snapshot is the xth one taken since the application was created, that there are currently z snapshots in the pool, and that this is the yth snapshot in the pool. 3 Press F4 (Next) and F3 (Previous) to display the different screens in the pool. If the last snapshot in the pool is displayed and you press F4 (Next), then the first snapshot in the pool is displayed. As is typical for image screens, you may wish the display to show the Script Builder screen title and message lines, or you may wish to hide them in order to have an unobstructed view of the host image. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 95 4 Defining the Host Interface Defining the Host Screen Definition 4 Press F5 (Name). The system displays the Name the Screen to Be Added window (Figure 23 on page 96). Figure 23. Name the Screen to be Added Window 5 In the Screen Name field, type the screen name or press F2 (Choices) for a list of names that have been referenced in the Transaction and/or Host Session Maintenance definitions, but not yet given to an actual screen. The naming conventions are as follows: ~ Name must be from 1 to 11 characters in length. ~ Legal characters include letters (A–Z and a–z), numbers (0–9), and the underscore (_). ~ First character must be a letter. ~ Names are case sensitive; that is, ABC is not the same as Abc or abc. ~ All screen names in the application must be unique. If you try to enter a duplicate name, a beep sounds and Script Builder tells you in the message line that the name already exists. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 96 4 Defining the Host Interface Defining the Host Screen Definition 6 In the Screen Type field, press F2 (Choices) to open a menu. Then select Login Base, Transaction Base, or Other. Or, enter the screen type in the second field by entering the first letter of the base type (either l, t, or o) Whenever the Intuity CONVERSANT system is started up, if the application has been previously installed, the system tries to log in to the host computer. To successfully log in using the procedure you define in Host Session Maintenance, the system expects to start at a known point, with a known screen. You designate this screen as the Login Base Screen. In a manual (nonautomated) version of an application, agents usually do not log in to the host with each phone call. Instead, they typically log in once and proceed to a screen that acts as a starting point for each transaction, thus sparing the caller the (sometimes lengthy) log-in procedure. Likewise, your automated application typically utilizes a certain screen as the transaction starting point. You indicate this screen to be the Transaction Base Screen. All screens that are not Login Base or Transaction Base screens are considered to be Other. Figure 24 shows the River_Bank User_acct Base Screen being created. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 97 4 Defining the Host Interface Figure 24. Defining the Host Screen Definition Creating the River_Bank user_acct Transaction Base Screen Add Screen(s) Snapshot 11 11 of 14 Choices ID NUMBER: Type 00001 LAST NAME: JONES JULY 19, 1992 FIRST NAME: PATRICK 16:33 other login base screen transaction base screen SOC SEC NO : 234-65-9087 CHECKING BALANCE: $2,010.27 Name the Screen to Be Added : DATE OF BIRTH : 26/11/48 SAVINGS BALANCE $7,354.63 CITY OF BIRTH : COLUMBUS user_acct Screen Name: ______________________ SSSSSS VVVV baseVVVV transaction screen Screen Type: ______________________ SSSSSSSS VVV VVV CLEAR - EXIT PF3 - MENU PF4 - TABLE Place cursor on a menu item and press ENTER to choose it. HELP REDRAW LIST CANCEL EXIT Most applications always log in the same manner and therefore require a single Login Base screen. Likewise, most application host transactions always start from the same point within the host application and require a Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 98 4 Defining the Host Interface Defining the Host Screen Definition single Transaction Base screen. However, there are exceptions. With more complicated host applications, Script Builder allows you to indicate more than one Login Base or Transaction Base screen. This must be carefully implemented to ensure that an application operates as desired. See Chapter 11, Using Advanced Features, for more information on multiple base screens. Note: It is very important that you correctly determine and specify the Transaction Base screen. System recovery is based on it. 7 Press F3 (Close) to enter the information and create the screen when both blanks have been filled in. The snapshot is removed from the pool and is converted into a named (but still undefined) screen. The Add Screen(s) screen is also closed by this step. The Define Host Screens window is active. The new name appears in the Define Host Screens window (with an asterisk *). The count of available snapshots has decreased by one. Removing Unwanted Snapshots After the Host Interface component is completely defined (all required screens have been named), there may be a few leftover snapshots, either because they were not needed or because duplicate snapshots were taken. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 99 4 Defining the Host Interface Defining the Host Screen Definition To remove a snapshot: 1 From the Add Screen(s) screen (Figure 22 on page 94), press F 4 (Next) and F3 (Previous) to move through the snapshot list until the screen shows the snapshot you want to remove. 2 Press (Remove). The system displays the Remove Snapshot Confirmation screen. 3 Press F7 (Cont) to confirm the removal or F6 (Cancel) to change your mind and abort the removal. Once removed, a snapshot can be restored only by pressing F3 (Capture) to log in to the host and re-take the snapshot. Snapshots take very little room on your computer disk, so do not remove any snapshots until your application is up and running and you are sure you do not need them. Defining Screen Identifiers Snapshots can be very similar in appearance. This is why Script Builder must be shown a part of each snapshot that will uniquely identify it from the others in the pool. Identifiers usually are parts of the snapshot that do not change and that are unique to that screen. Consider the screens “send_id” (Figure 22 on page 94), “user_acct” (Figure 25 on page 102), and “login_base” (Figure 26 on page 103). Note that the text ID NUMBER: could identify “send_id” or “user_acct” from “login_base,” but not from each other. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 100 4 Defining the Host Interface Defining the Host Screen Definition So ID NUMBER: may be a useful identifier, but you must provide more information to make each of those screens unique. This is easily done in the case of “user_acct” by adding an identifier such as FIRST NAME, CHECKING BALANCE, etc. But there is nothing that can be identified on “send_id” that distinguishes it from “user_acct”. To uniquely identify “send_id”, it is necessary to indicate text (from “user_acct”) that is not found on the “send_id” screen, such as FIRST NAME, CHECKING ACCOUNT, etc. These are called exclude identifiers. You can also identify a screen by cursor location or by lack of any information (a blank screen). Sometimes the location of the cursor on the host screen can be important. Therefore, it is possible to create an identifier consisting of just the cursor location. Sometimes an entirely blank screen can be useful in an application. It has a special blank screen identifier. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 101 4 Defining the Host Interface Figure 25. Defining the Host Screen Definition River_Bank user_acct Screen Define Screen (transaction base) ID NUMBER: 00001 SOC SEC NO DATE OF BIRTH CITY OF BIRTH CLEAR - EXIT River_Bank LAST NAME: JONES FIRST NAME: PATRICK : 123-45-6789 : 26/11/48 : COLUMBUS PF3 - MENU JULY 19, 1992 16:33 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 PF4 - TABLE Press the function key of the item you would like to define. IDENT FIELDS Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 CHG-KEYS Issue 2 January 2000 102 4 Defining the Host Interface Figure 26. Defining the Host Screen Definition River_Bank Login Base Screen (login_base) Define (login base) EEEEE LScreen L BBBB L L B B E L L BBBBB EEEE L L B B E BBBBB EEEEE LLLLL LLLLL L L L L LLLLL AAAA A A AAAAAA A A A A River_Bank BBBB B B BBBBB B B BBBBB SSSSS S SSSSS S SSSSS COLUMBUS, OHIO C - - > CICS I - - > TSO J - - > JES3 ENTER SELECTION LETTER: Press the function key of the item you would like to define. IDENT Screen Identifier Overview FIELDS CHG-KEYS • Identifier definition is always performed on one screen at a time. • There must be at least one identifier per screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 103 4 Defining the Host Interface • Defining the Host Screen Definition Screen identification consists of one of the following: ~ A combination of one or more regular, exclude, and cursor location identifiers ~ A blank screen identifier • Regular identifiers are highlighted. • Exclude identifiers are shown blinking. • A cursor location identifier is indicated by a blinking at symbol (@). Note: Screen identifiers cannot be specified on line 25 of a host screen. In some host applications, the screen information comes in “chunks” rather than all at once. If this is true in your application, be sure to include at least one identifier from the last “chunk” to arrive. Otherwise the Intuity CONVERSANT system may proceed with missing information, or may misinterpret the last chunk as an unrecognized screen when the next Get Host Screen action step is performed. Defining Screen Identifiers To define screen identifiers: 1 While in the Define Host Screens window (Figure 16 on page 86), highlight the screen for which you want to modify the identifier definition, then press F4 (Define). The system displays the Define (screen name) Screen (Figure 27 on page 105). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 104 4 Defining the Host Interface Figure 27. Defining the Host Screen Definition River_Bank user_acct Screen Identifier Definition Define Screen (transaction base) ID NUMBER: 00001 SOC SEC NO DATE OF BIRTH CITY OF BIRTH CLEAR - EXIT River_Bank LAST NAME: JONES FIRST NAME: PATRICK : 123-45-6789 : 26/11/48 : COLUMBUS PF3 - MENU JULY 19, 1992 16:33 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 PF4 - TABLE Press the function key of the item you would like to define. IDENT FIELDS CHG-KEYS The titles of many of the image screens include the name of the screen being worked on. This helps you to keep track of where you are within the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 105 4 Defining the Host Interface Defining the Host Screen Definition host screen definition. Your options are to define screen identifiers or fields. 2 Press ID EN T. The system displays the Define (screen name) Screen Identifiers screen (Figure 28 on page 107). Any existing identifiers are shown according to the screen identification rules. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 106 4 Defining the Host Interface Figure 28. Defining the Host Screen Definition River_Bank user_acct Screen Identifier Definition Define Screen Identifiers (transaction base) ID NUMBER: 00001 SOC SEC NO DATE OF BIRTH CITY OF BIRTH CLEAR - EXIT River_Bank LAST NAME: JONES FIRST NAME: PATRICK : 123-45-6789 : 26/11/48 : COLUMBUS PF3 - MENU JULY 19, 1992 16:33 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 PF4 - TABLE Press the proper function key to remove or add identification strings ADD REMOVE Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 CHG-KEYS Issue 2 January 2000 107 4 Defining the Host Interface Adding a Screen Identifier Defining the Host Screen Definition To create a new screen identifier: 1 From the Define (screen name) Screen Identifiers screen (Figure 28 on page 107), press A DD. The system displays the Add (screen name) Screen Identifier screen. 2 To create a regular screen identifier: a Use the cursor movement keys to position the cursor at the beginning of the desired text, then press BE GI N . Change starting point of the text simply by pressing B EG IN again. b Position the cursor at the end of the desired text, then press E ND. c Reposition the starting and ending points of the text string as desired, then press SAV E to include string as part of screen identification. The maximum length of a regular identifier is 128 characters. The regular identifier may wrap around lines, but cannot wrap from the bottom to the top of the screen. 3 To create an exclude screen identifier: a Position the cursor at the desired starting point, then press E XC LU DE . The system displays the Add Exclude Identifier window. b Type the exact text desired, then press CLO S E to enter the exclude text. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 108 4 Defining the Host Interface Defining the Host Screen Definition This exact text must be specified as an identifier for the screen from which you are trying to exclude. The maximum length of an exclude identifier is 60 characters. If you need a longer exclude identifier, just add multiple exclude identifiers. You may not specify exclude identifiers consisting only of blank space. The exclude identifier may wrap around lines but cannot wrap from the bottom to the top of the screen. Note: If a string starting point has been marked with BEGIN since the last save, EXCLUDE takes that as the starting point for the exclude string instead of the current cursor position. 4 To create a cursor location screen identifier: a Move the cursor to the desired location. b Press CU R SO R followed by SAV E . The identified cursor location is indicated by a blinking at symbol (@). Since the cursor can only be in one location at a time, only one cursor identifier can be defined per screen. Script Builder sounds a beep if you try to define more than one. 5 Press SAV E as each new identifier is defined to add it to the screen definition. After all desired identifiers have been created, press CA NC E L to return to the Define (screen name) Screen Identifiers screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 109 4 Defining the Host Interface Defining the Host Screen Definition Removing a Screen To remove a screen identifier: Identifier 1 From the Define (screen name) Screen Identifiers screen (Figure 28 on page 107), press R EM O VE . The system displays the Remove (screen name) Screen Identifier(s) screen. All identifiers appear with normal attributes except the one that is highlighted. 2 Press TAB , then SH IFT TA B to cycle through all identifiers until the desired identifier is highlighted. 3 Press RE M O VE to delete the highlighted identifier. Note: The system may warn you about permanently removing an identifier. This is an informational message asking if you really want to proceed with the remove. Answer accordingly. 4 Repeat until all unwanted identifiers have been removed. 5 Press SAV E , then CA N CE L to return to the Define (screen name) Screen Identifiers screen. Renaming a Screen or Changing Screen Type To rename a screen or change its base type: 1 .In the Define Host Screens window (Figure 16 on page 86), highlight the screen to be changed, then press R EN AM E . Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 110 4 Defining the Host Interface Defining the Host Screen Definition The system displays the Rename Screen window. It is identical in format and procedure to the Name the Screen to Be Added window (Figure 23 on page 96), except that the existing screen name and base type are already filled in. 2 Make your selected changes in the Screen Name field and/or the Screen Type field. 3 Press CL OS E to enter the changes made, or CA NC EL to leave the field as it was. Note: Changing a screen name does not cause any references to the same name in the Transaction or Host Session Maintenance definitions to be changed also. Removing a Screen To remove a screen: ! CAUTION: This procedure deletes the screen and all of its components, including the snapshot image, screen name, and any identifiers and fields that are part of the screen definition. 1 In the Define Host Screens list screen, highlight the name of the screen to be removed, then press RE M OV E . Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 111 4 Defining the Host Interface Defining the Host Screen Definition The system displays the Remove Screen Confirmation message to warn you of the consequences of the pending action step. 2 Press CO N T to proceed to remove the screen, or C A NC EL to abort the removal. Note: If the screen name is being used in either the Transaction or the Host Session Maintenance definition, it will remain in the Define Host Screens list, marked with an ampersand (&). Defining Screen Fields A human operator is limited to entering data on designated areas of a host screen. Script Builder is also limited to entering data in specified fields. Define screen fields to limit Script Builder access to the specified fields on the screen for sending and receiving data. Perform field definition on one screen at a time. Size Limit of Host Screen Field Data For a single host screen, the total size of all fields defined must be equal to or less than 2000 bytes minus 1 byte of overhead for each host field. Table 29 on page 113 shows the default size for each type of host field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 112 4 Defining the Host Interface Defining the Host Screen Definition Figure 29. Default Host Field Sizes Field Type Bytes char number of characters number 4 date 8 time 6 To calculate the size of all fields defined in a single host screen, add the sizes of each field. For example, if there are four date fields, four time fields, ten character fields of five characters each, and one number field, the total size is 110 bytes plus 19 bytes overhead (19 fields). Note: If the data to be defined exceeds the capacity determined with this formula, the Host Screen could be captured, defined as two separate screens, identified accordingly, and received by the Intuity CONVERSANT system with two separate Get Host Screen action steps. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 113 4 Defining the Host Interface Defining a Screen Field Defining the Host Screen Definition To define a screen field: 1 From the Define Host Screens window (Figure 16 on page 86), highlight the screen for which you want to modify the field definition, then press DE FIN E . The system displays the Define (screen name) Screen (Figure 27 on page 105). 2 Press FIE LD S . The system displays the Define (screen name) Screen Field(s) window (Figure 30 on page 115). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 114 4 Defining the Host Interface Figure 30. Defining the Host Screen Definition River_Bank user_acct Screen Field Definition ID NUMBER: 00001 LAST NAME: JONES Define Screen Fields PATRICK FIRST NAME: SOC SEC NO DATE OF BIRTH CITY OF BIRTH : 234-65-9087 : 26/11/48 : COLUMBUS JUNE 15, 1992 16:24 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 3 Press AD D. The system displays the Add Screen Field window (Figure 31 on page 116). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 115 4 Defining the Host Interface Figure 31. Defining the Host Screen Definition Adding user_id field River_Bank user_acct Screen Define LAST Screen FieldsJONES ID NUMBER: 00001 NAME: JUNE 15, 1992 Add Screen Field FIRST NAME: PATRICK 16:24 user_id Field Name: _______________________ char Field Type: ______ both Usage: _______ SOC SEC NO : 234-65-9087 CHECKING BALANCE: $2,010.27 C Format: ______ SAVINGS BALANCE : $7,354.63 DATE OF BIRTH : 26/11/48 SSSSSS________ VVVV VVVV regular Location: SSSSSSSS VVV VVV CITY OF BIRTH : COLUMBUS CLEAR - EXIT PF3 - MENU PF4 - TABLE Fill out the form, press CLOSE when finished. HELP CHOICES CLOSE REDRAW LIST CANCEL EXIT 4 In the Field Name field, type the name, or press CH O IC ES for a list of fields that have been referenced for this screen, in either the Transaction or Host Session Maintenance definition, and have not yet been defined as part of the screen. The normal rules apply for naming fields. See Field Name in Chapter 3, Data Management, for field naming rules. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 116 4 Defining the Host Interface Defining the Host Screen Definition 5 In the Field Type field, type the first letter of the desired type or press CH O IC ES to select from a a menu. The normal field type selections (that is, char, num, date, and time) apply. See Field Type on page 47 in Chapter 3, Data Management, for information about field types. 6 In the Usage field, specify whether the value in the field is sent TO_HOST only, received FROM_HOST only, or goes in BOTH directions. Note: Host computer screens exchange data only in designated areas of the screen called unprotected fields. If you indicate that a field value goes TO_HOST or in BOTH directions, Script Builder allows you to locate the field only in an unprotected area of the screen. 7 In the Format field, type the desired format or press CH O IC ES for a menu of those commonly used. See Formats for Input from Host Computer on page 58 and Formats for Output to a Host Computer on page 66 in Chapter 3, Data Management, for information about host field formats. 8 In the Location field, type the first letter of the desired location entry or press CH O ICE S for a menu. ~ A regular location means that the field is found in the same regular, or fixed, location of a screen, under any conditions. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 117 4 Defining the Host Interface Defining the Host Screen Definition ~ An external location means the field’s location can vary, depending on circumstances such as the specific field value, whether an error has occurred, etc. You must locate external fields by means of a special C-language file external to the Script Builder user interface. See Chapter 11, Using Advanced Features, for additional information. 9 Press CL OS E when the screen is completed as desired 10 To locate a regular field: a Use normal cursor movement keys to highlight the beginning of the field in the Locate Field (field name) on Screen (screen name) screen (Figure 32 on page 120), then press BE GI N . Note: The status line (normally found on line 25 of the 3278) cannot be used for screen recognition criteria. It is not a part of the image screen; therefore fields cannot be specified on line 25 of the host screen. Note: You can bypass the cursor movement keys and directly highlight the screen’s unprotected fields (if any) pressing TA B and then S HI FT TA B . Script Builder sounds a beep when you try to go past the last unprotected field in either direction. If Script Builder sounds a beep without highlighting anything, there are no unprotected fields in the screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 118 4 Defining the Host Interface Defining the Host Screen Definition Script Builder checks for the presence of a field at that location and highlights the field from the present cursor position to the end of the field. The highlighted host field area only suggests a beginning and ending. You must still mark your actual desired beginning and ending field locations with the BE G IN and EN D keys. b Move the cursor to the end of the field, then press EN D. c Adjust the field beginning and ending as desired. Press C H G- KE YS , then C LO SE to complete the field definition. The system adds the field name to the list. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 119 4 Defining the Host Interface Figure 32. Defining the Host Screen Definition Specifying a Regular Location for user_id the River_Bank user_acct Screen Locate Field on Screen ID NUMBER: 00001 SOC SEC NO DATE OF BIRTH CITY OF BIRTH LAST NAME: JONES FIRST NAME: PATRICK : 123-45-6789 : 26/11/48 : COLUMBUS CLEAR - EXIT River_Bank PF3 - MENU JULY 19, 1992 16:33 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 PF4 - TABLE Mark the begin and end points of the field, then press CLOSE BEGIN END Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 CHG-KEYS Issue 2 January 2000 120 4 Defining the Host Interface Defining the Host Screen Definition 11 To locate an external field: a In the Specify Number of Characters field in the External Field Length window (Figure 33 on page 121), type the length of the field. Figure 33. Specifying External Location for user_id the River_Bank user_acct Screen ID NUMBER: 00001 LAST NAME: JONES JUNE 15, 1992 Define Screen FieldsAdd Screen Field FIRST NAME: PATRICK Field Name: _______________________ 16:24 user_id Field Type: ______ char Usage: _______ both SOC SEC NO : 234-65-9087 CHECKING BALANCE: $2,010.27 Format: ______ C SAVINGS BALANCE : $7,354.63 DATE OF BIRTH : 26/11/48 SSSSSS VVVV VVVV Location: ________ regular SSSSSSSS VVV VVV CITY OF BIRTH : COLUMBUS External Field Length Specify Number of Characters: _____ Legal length range is from 1 to 127 characters. b Press CL OS E to complete the field definition. The system adds the field name to the list. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 121 4 Defining the Host Interface Defining the Host Screen Definition Displaying a Screen Sometimes fields overlap on a screen. To display an individual screen field: Field 1 In the Define (screen name) Screen Field(s) window (Figure 30 on page 115), with any field highlighted, press SH O W. The system displays the Show (screen name) Screen Field(s) screen (Figure 34 on page 123). The field name and method of location are shown at the bottom of the screen. Note: The system automatically highlights the first field created. Press N EX T and P RE V as desired to see the location for each field, in order of creation, displayed in the screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 122 4 Defining the Host Interface Figure 34. Defining the Host Screen Definition Showing River_Bank user_acct Screen Fields Show Screen Field(s) ID NUMBER: 00001 SOC SEC NO DATE OF BIRTH CITY OF BIRTH River_Bank LAST NAME: JONES FIRST NAME: PATRICK : 234-65-9087 : 26/11/48 : COLUMBUS CLEAR - EXIT PF3 - MENU JUNE 15, 1992 16:24 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 PF4 - TABLE Display Field: bday NEXT PREVIOUS Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 CHG-KEYS Issue 2 January 2000 123 4 Defining the Host Interface Defining the Host Screen Definition Renaming a Screen To rename a screen field: Field 1 In the Define (screen name) Screen Field(s) window (Figure 30 on page 115), highlight the field to be renamed, then press R EN A ME . The Rename (field name) Field screen opens. 2 Change the name as desired, then press CL OS E to preserve the change or C AN CE L to leave the field name as it was. Note: Changing a Screen Field Definition Any matching references in the Transaction or Host Session Maintenance definitions are not changed. To change a screen field definition: 1 In the Define (screen name) Screen Field(s) window (Figure 30 on page 115), highlight the field to be renamed, then press C HA N GE . The system displays the Change (field name) Field window. It is identical in format and procedure to the Add Screen Field window (Figure 31 on page 116), except that the blanks already contain the existing field information. 2 Make any changes desired, then press CLO S E to preserve the change, or C AN CE L to leave the field definition as it was. Note: If you change the field name, any matching references in the Transaction or Host Session Maintenance definitions are not changed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 124 4 Defining the Host Interface Defining Host Session Maintenance To change the field location from regular to external (or external to regular), move the cursor to the Location field and change the value. Then proceed to define the field location as described in step or step 11 of Defining Screen Fields on page 112. To relocate a regular field, press N EW-L OC to open the Locate Field (field name) on Screen (screen name) screen (Figure 32 on page 120). Removing a Screen To remove a screen field: Field 1 In the Define (screen name) Screen Field(s) window (Figure 30 on page 115), highlight the field to be removed, then press R EM O VE . 2 Press CO N T to confirm and continue to eliminate the field and all its attributes, or press C AN CE L to retain it. Defining Host Session Maintenance In the Host Session Maintenance script, you specify host activities that occur in the background as opposed to activities that occur as part of a caller transaction. Background activities include: • Logging in and progressing through the host application to the point of the Transaction Base screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 125 4 Defining the Host Interface Defining Host Session Maintenance The Transaction Base screen is the first screen the caller uses to begin a transaction with the host computer. • Recovery (restoring the host application to the transaction base after a caller transaction, if necessary) • Logging out For example, in the River Bank application—presented in Appendix A, Sample Application, there is no reason for the caller to have to wait while the operator logs in to the host computer. Rather, the agent can log in once each morning, progressing to the point where the caller’s ID is entered. The agent can then quickly get account information as each call comes in, returning to the same “base” point; that is, the account ID entry screen, after each caller transaction. A Host Session Maintenance definition is similar to a Transaction definition—described in Chapter 7, Defining the Transaction, except for background activities. A main difference between them is how they respond to an unspecified UNRECOGNIZED_SCREEN or HOST_TIMEOUT as a possible case in a Get Host Screen action step. The Host Session Maintenance script proceeds with the action step following the End Get Screen. The Transaction script quits when it encounters this condition. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 126 4 Defining the Host Interface Starting the Host Session Maintenance Definition Defining Host Session Maintenance To start the host session maintenance definition: 1 From the Define Application menu (Figure 14 on page 40), select >Host Interface The system displays the Define Host Interface menu (Figure 35 on page 127). Figure 35. Define Host Interface Menu 2 Select >Host Session Maintenance The system displays the Host Session Maintenance screen (Figure 36 on page 128). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 127 4 Defining the Host Interface Figure 36. Defining Host Session Maintenance Host Session Maintenance Screen The three predefined labels cannot be copied, renamed, or removed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 128 4 Defining the Host Interface Labels Defining Host Session Maintenance Labels in Host Session Maintenance work differently than they do in a transaction. A label in Host Session Maintenance defines an autonomous sequence of steps. This is most clearly understandable in terms of the predefined sequences login, logout, and recover. Once the login sequence is complete, you do not expect to continue to the logout sequence. The system does not automatically continue from one sequence to the next. If you want it to continue, put a Goto Label as the last action step in the first sequence. Control is automatically transferred to the appropriate label for a given situation. User-defined labels have the same are processed the same way. If you use a label, you are defining a new sequence, with the side effect of ending the previous sequence. Note: You can include up to nine labels in the Host Session Maintenance screen, which include the predefined labels; therefore, you can define up to six additional labels. login The login sequence is executed whenever the system is brought “up” or when the recovery sequence ends at the Login Base screen. The result must be to leave the host application at the Transaction Base screen. Then the Transaction component can be defined under the assumption that it picks up the host application at the transaction base. logout The logout sequence is executed whenever the system is brought down. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 129 4 Defining the Host Interface recover Defining Host Session Maintenance The recover sequence is initiated whenever one of the following occurs: • The transaction ends and the current host screen is not the Transaction Base screen • The login procedure ends and the current host screen is not the Transaction Base screen • The recover procedure ends and the current host screen is not the Transaction Base screen (unless the current host screen is the Login Base screen, which will result in a login sequence) Note that this means that like the login sequence, the recover sequence must end with the host application at the Transaction Base screen. If it does not, the recover sequence will be reinvoked, thus leading to an endless cycle. Note: The Intuity CONVERSANT system waits 20 seconds before reinvoking the recover or login sequence after the session fails to log in. Each failed attempt increases the wait by 20 seconds. For example, for five consecutive failed attempts to log in, the system waits 100 seconds before attempting again. Thus, the system reinvokes the recover or login sequence at a progressively slower pace. However the system will not wait longer than 10 minutes before trying again. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 130 4 Defining the Host Interface Action Steps Defining Host Session Maintenance Host Session Maintenance uses a subset of the action steps available in the Transaction: • Comment • Get Host Screen • Goto Label • Label • Send Host Screen Methods to define sequence flow and to define the details of each action step are similar to those of the Transaction component—presented in Chapter 7, Defining the Transaction, but there are some important differences. Host Session Maintenance Sequence Flow Sequence flow is similar to Transaction flow, except that every label used in Host Session Maintenance constitutes the beginning of an independent sequence. This means that you can define sequences of your own, as branches from the login, logout, and recover sequences. In fact, you can use the Goto Label action step in any sequence to exit that sequence and begin another. There is also a major difference from Transaction flow here. In the Transaction, if the flow encounters a label (aside from being directed to go to Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 131 4 Defining the Host Interface Defining Host Session Maintenance it), the Transaction flow continues on past the label. In Host Session Maintenance, the label constitutes the beginning of a new sequence, hence the end of the current sequence. Host Session Maintenance flow stops at the end of a sequence. It is vital that every custom sequence you specify eventually leads back to either the login or recover sequence. The following example shows the River Bank Host Session Maintenance Screen Script Builder action steps. login: #### Login sequence from the login base screen #### called "login_base" to the transaction base #### screen, called "main_menu" 1. Get Host Screen For Screen Name: login_base 2. Send Host Screen Send Screen Name: login_base Use Aid Key: ENTERKEY Field: selection = "applid=cs432" 3. Get Host Screen For Screen Name: cics_banner 4. Send Host Screen Send Screen Name: cics_banner Use Aid Key: ENTERKEY Field: choice = "2" 5. Get Host Screen For Screen Name: blank 6. Send Host Screen Send Screen Name: blank Use Aid Key: ENTERKEY Field: blank_input = "main" 7. Get Host Screen For Screen Name: main_menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 132 4 Defining the Host Interface Defining Host Session Maintenance End Get Host Screen End Get Host Screen End Get Host Screen For Screen Name: main_menu End Get Host Screen 8. 9. 10. 11. 12. 13. 14. 15. logout: Get Host Screen For Screen Name: main_menu Send Host Screen Send Screen Name: main_menu Use Aid Key: PF3 Get Host Screen For Screen Name: login_base End Get Host Screen For Screen Name: UNRECOGNIZED_SCREEN Send Host Screen Send Screen Name: Use Aid Key: PF3 Get Host Screen For Screen Name: login_base End Get Host Screen End Get Host Screen recover: Get Host Screen For Screen Name: cics_banner Send Host Screen Send Screen Name: cics_banner Use Aid Key: ENTERKEY Field: choice = "2" Get Host Screen For Screen Name: blank Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 133 4 Defining the Host Interface 16. 17. Host Session Maintenance Script Rules Send Host Screen Send Screen Name: blank Use Aid Key: ENTERKEY Field: blank_input = "main" Get Host Screen For Screen Name: main_menu End Get Host Screen End Get Host Screen Host Session Maintenance Script Rules The following information will help you develop your Host Session Maintenance outline. 1 A Transaction Base screen is the screen that the Intuity CONVERSANT system returns to after a transaction. In some applications, any host screen can be obtained from any other screen. In this case, all screens are Transaction Base screens. In other applications, particular screens can only be obtained through a certain path. You must specify to the system what screen to start with to get to the other screens. This starting screen is the Transaction Base screen. 2 The last screen of the login sequence must be a Transaction Base screen. 3 The result of the recovery sequence is the Transaction Base screen. 4 The logout sequence should end with the Login Base screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 134 4 Defining the Host Interface Host Session Maintenance Script Rules 5 The first action step (other than Comment) of the login sequence should be a Get Host Screen for the Login Base screen. 6 When developing the recovery sequence, remember to include all possible cases, including UNRECOGNIZED_SCREEN and HOST_TIMEOUT. The purpose of the recovery sequence is to tell a Script Builder application how to recover if it detects a screen that it does not expect. Whenever this happens, the system automatically invokes the recovery sequence. Also make sure to include the login base screen case in the recovery sequence. If the login screen is not included, it could be recognized as UNRECOGNIZED_SCREEN and subject to whatever action is specified for the UNRECOGNIZED_SCREEN case. If no actions are specified for the login base screen case, the login sequence will be automatically invoked after recovery fails, and the login base screen is recognized. See Defining the Host Interface on page 191 in Chapter 6, Defining Parameters, for information about UNRECOGNIZED_SCREEN and HOST_TIMEOUT. ! CAUTION: When you are in a sequence, do not use a Goto Label referring back to the same sequence. For example: A Goto Recovery label within the recovery sequence will create an infinite loop that greatly hinders system performance. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 135 4 Defining the Host Interface Host Session Maintenance Script Rules Defining Get Host Screen For a discussion of the Get Host Screen action step, including appropriate processing of UNRECOGNIZED_SCREEN and HOST_TIMEOUT, see Defining Get Host Screen on page 258 in Chapter 7, Defining the Transaction. Defining Send Host Screen The Send Host Screen action step differs from its Transaction counterpart in one way: TO_HOST fields can only be assigned constant values, not values from fields, except for the two fields specified in the Parameters component: $HOST_LOGINID and $HOST_PASSWORD. This allows LU-specific login ID and password values to be specified in the login process for the applications that require such a capability. See Defining the Host Interface on page 191 in Chapter 6, Defining Parameters, for more information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 136 4 Defining the Host Interface Host Session Maintenance Script Rules Defining the Login Sequence Every Host Session Maintenance sequence is a series of Get Host Screen and Send Host Screen action steps. Keep in mind that the login sequence should begin with the Get Host Screen case of the login base screen, and end with the Get Host Screen case of the Transaction Base screen. Defining the Logout Sequence This sequence generally takes the host application from the Transaction Base screen to the login base screen, with the purpose of logging off the host computer. Often there is a shortcut (such as C LR KE Y ) method for this, so that this sequence can be relatively short compared to the login sequence. Defining the Recovery Sequence The recovery sequence should begin with a Get Host Screen action step, except in the case that a universal Send Host Screen action step is available that always forces transfer of the host application to a known location within the host application. It is possible to define the login and recovery sequences so that the system goes into an “infinite loop.” If the recovery sequence does not result in arrival Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 137 4 Defining the Host Interface Host Session Maintenance Script Rules at the Transaction Base screen, it will causes the recovery sequence to be invoked which, failing to arrive at the Transaction Base screen, causes the recovery sequence to be invoked, and so on. Test this sequence to ensure that it does indeed terminate at the Transaction Base screen. This will save considerable debugging effort later when the application is installed. Host Session Maintenance: Tips This section includes tips for working with the host session maintenance script in your Script Builder applications. Screen Identification Identify each screen based on the last chunk of information sent to the screen. Recover Logic A failure could occur at any part of your host session. Write recover logic to handle failures of VTAM, CICS, IMS, and the application. Prevent Multiple Requests For IMS applications, have the host administrator turn off the normal response mode so that logical units (LUs) will have their keyboards locked until a response is received from the host. Otherwise, LUs may send more requests before the first one is completed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 138 4 Defining the Host Interface Host Session Maintenance Script Rules Delay Before Getting Blank Screen Insert a delay before getting a blank screen in the login sequence. This delay will help prevent the send of the blank screen prematurely, before the host is ready. To insert a delay in the host control code, do a Get_Host_Screen on a screen that will never be seen by the host. This results in an unrecognized screen timeout, which effectively makes the LU wait the number of seconds specified for the unrecognized screen timeout. Using Goto Label Commands Goto Label action steps are good to use when writing the Login, Logout, and Recover sequences of the Script Builder application. When used discriminatively, they result in code that is more maintainable. Here is an example of a login sequence written using Goto Label action steps: login: Get Host Screen For Screen name: FIRST Send Host Screen: FIRST Goto SECOND_SCREEN For Screen Name: SECOND Goto SECOND_SCREEN For Screen Name: THIRD Goto THIRD_SCREEN For Screen Name: FOURTH End Get Host Screen SECOND_SCREEN: Get Host Screen For Screen Name: SECOND Send Host Screen: SECOND Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 139 4 Defining the Host Interface Host Session Maintenance Script Rules Goto THIRD_SCREEN End Get Host Screen THIRD_SCREEN: Get Host Screen For Screen Name: THIRD Send Host Screen: THIRD Get Host Screen For Screen Name: FOURTH End Get Host Screen End Get Host Screen This example uses the Goto Label to reach the FOURTH screen (the transaction base screen) by getting and sending the FIRST, SECOND, and THIRD screens in order. Many applications log in this way. Notice how the code is easy to read and easy to maintain. The login sequence modularizes the code so that each screen is dealt with separately in its own sequence or label. For example, the label SECOND_SCREEN functions only to advance to the THIRD_SCREEN by getting and sending the SECOND_SCREEN. That is all it does. Following this style, applications could try to have every screen in its own label. This shortens the code and improves maintainability since changes to a screen are localized to only one area. Without using the Goto Label, Gets and Sends of Screens would be nested. This is a good technique, but it could lead to a lot of duplicate code. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 140 4 Defining the Host Interface Host Session Maintenance Script Rules Here is an example of a recover sequence written using Goto Label action steps: recover: Get Host Screen For Screen name: SECOND Goto SECOND_SCREEN For Screen name: THIRD Goto THIRD_SCREEN For Screen name: FOURTH For Screen name: CUSTOMER_DATA Goto CUSTOMER_DATA_SCREEN End Get Host Screen This Recover sequence uses a small amount of code because it jumps to much of the same code that was written for the login section. Notice that CUSTOMER_DATA_SCREEN was added to account for the common case where the current screen image is the customer data screen. Notice also that there is no need to handle the FIRST screen here. Rather, it is handled in the login sequence because it is the specially tagged login base screen. We can improve the recover sequence by tagging not only the FIRST but also the SECOND and THIRD screens as login base screens. The application will now automatically start executing the login sequence instead of the recover sequence if either the FIRST, SECOND or THIRD screens is Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 141 4 Defining the Host Interface Host Session Maintenance Script Rules the current screen image. Using multiple login base screens, the recover sequence looks like this: recover: Get Host Screen For Screen name: FOURTH For Screen name: CUSTOMER_DATA Goto CUSTOMER_DATA_SCREEN End Get Host Screen Applications vary in their screen contents and in how they log in, log out, or recover. The examples shown here are less complex than most real login and recover sequences. Nevertheless the modular approach using Goto Label actions should be applied whenever possible. Remember that only nine labels can be defined, and three labels are already predefined: login, logout, and recover. That leaves six labels, each for handling one screen. Thus in reality, applications might have their login or recover sequences coded using a mix of Goto Label action steps and nesting. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 142 5 Creating Database Tables Overview This chapter describes the Database Tables component of Intuity CONVERSANT Script Builder and shows how to create database tables, change the structure of tables, edit the records contained within tables, and remove tables. It also discusses how you can share a database table created in another application, and how to restore local database tables. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 143 5 Creating Database Tables Creating a Database Table Creating a Database Table You can use your Script Builder application to obtain information from a database, either local or remote. Functions are available in the Script Builder database component that allow you to create database tables, change the structure of tables, edit the records contained within tables, and remove tables. You access information in the tables by using an action step in the transaction. Databases A database is a set of tables that contains information you want to give to or receive from a caller. You create database tables using the Database Tables component of Script Builder. A database can help you accomplish the following in your application: • Update information that changes frequently • Receive and store information from callers • Share information from other applications Within Script Builder, the word database describes a unique instance of an ORACLE Relational Data Base Management System (DBMS). Database table or table describes a data structure residing within a given database. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 144 5 Creating Database Tables Creating a Database Table Script Builder currently interfaces with one local database and up to four remote ORACLE Relational DBMS. By using the Read Table action step, you can access database table information residing within any local or remote ORACLE databases for which connections have been established. See Defining Read Table on page 306 in Chapter 7, Defining the Transaction, for additional information. See Chapter 6, “Database Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on establishing access to local and remote databases. The database table feature in Script Builder supports two different types of user applications: • Applications that refer to information that changes frequently (that is, data that is read-only) • Applications that allow the caller to change information In the first situation, the application commonly refers to information that changes too often to build directly into a transaction definition. At the same time, it is inefficient to repeatedly access a host for information that is not updated frequently. To remedy the situation, Script Builder can access data in the local ORACLE database or on ORACLE databases on remote machines networked with TCP/IP and SQL*Net. In the River Bank example (see Appendix A, Sample Application), interest rates change once a week. It would be impractical to revise the application every Monday to update rates and access the host system for data that remains constant for all customers for the week. In the manual Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 145 5 Creating Database Tables Creating a Database Table (nonautomated) version of the River Bank application, agents use a chart containing the week’s interest rates. By changing a database, the chart is easily updated to reflect each week’s rates, and agents can conveniently consult the rate chart as needed during a transaction. Script Builder can provide the rate chart using either local or remote database capabilities. A local database table resides in the local ORACLE database on the Intuity CONVERSANT system. A remote database table is located in an ORACLE database on a remote networked machine, sometimes called a host computer. Each Script Builder application can support up to 10 different database tables. Each table can have up to 15 fields or columns. When you define the table, you name each field and give its characteristics (type and length). The field type determines the general kind of information to be included in the field (that is, a string of characters, a date, a number, or a time). ORACLE Errors If a screen display indicates an ORACLE error, you can retrieve more information about the ORACLE error number by going to the system prompt and typing /oracle/bin/oerr ora error_num where error_num is the ORACLE error number in the reason field of the system message. You receive a brief explanation of the error, the “Cause” of the error and the “Action” to correct the error. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 146 5 Creating Database Tables Creating a Database Table These ORACLE error messages are also logged in the System Message Display screen. You may also see the ORACLE Error Messages and Codes Manual for an explanation of the error. If the error is unique to the UnixWare environment, see the ORACLE for UnixWare Technical Reference Guide for more detailed information. Each row (record) in a table is related to a single item and includes the information in each column. The number of records contained in a database table is limited only by the amount of disk space allocated to the ORACLE database when it is installed. ! CAUTION: You should access a database only through Script Builder menus. Any changes made using ORACLE DBMS commands will have unpredictable results. Accessing a Database Table To access the database table to edit an existing table or to create a new table, perform the following procedure: 1 From the Define Application menu (Figure 14 on page 40), select >Database Tables Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 147 5 Creating Database Tables Creating a Database Table The system displays the Table Name menu (Figure 37 on page 148). This menu lists the names and corresponding database access IDs of all database tables that have been added to the application. If a table has been added but not defined, it appears with an asterisk (*) in the Table Name menu. Figure 37. Adding a New Database Table Table Name Menu You can add a new database table to the system, or you can add an existing database table to your application. The following rules apply when naming a database table: • The name must be from 1 to 11 characters in length. • Valid characters are letters (A–Z and a–z), numbers (0–9), and underscore (_). • The application’s first character must be a letter (A–Z, a–z). • Names are case sensitive; that is, ABC is not the same as Abc or abc. Note: Before using the Script Builder Add a Table screen to add or access tables that reside in remote ORACLE databases, you must first establish connections to the database(s) you wish to access Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 148 5 Creating Database Tables Creating a Database Table by defining a database access ID for each database. See Chapter 6, “Database Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on defining database access IDs. Adding a Local Database Table To add a database table to your application: 1 Press F1 (Add) from the Table Name menu (Figure 37 on page 148). The system displays the Add a Table window (Figure 38 on page 149). This window allows you to add a new table and the corresponding Database Access ID. Figure 38. Add a Table Window 2 In the Table Name field, enter the name of the new table. See the rules for adding a database table in Adding a New Database Table on page 148. Note: Make sure each database table has its own unique name among other applications. When you are adding a database table name, the system checks with the ORACLE DBMS referenced by the Database Access ID to see if a table by the same name exists in that database. If a table with this name already exists, the system Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 149 5 Creating Database Tables Creating a Database Table asks if you want to use the same name. If you choose to use that database table, you become an owner of that table. Note that the shared database table name will appear in the Table Name menu, but that it will not have an asterisk preceding it because it has already been defined. For more information about sharing databases, see Sharing Database Tables on page 165. 3 In the Database Access ID field, enter the applicable database access ID to change the default value of this field or press F2 (Choices) for a menu. 4 Press F3 (Close). The system adds the database table name and database access ID to the list of database tables. The asterisk next to the new database table name indicates that it is undefined. It has neither structure nor content. You must define a structure for the database table in order to successfully install your application. You can define a structure for the database table and not enter any data. Note: If a script accesses multiple tables, some performance improvement may be gained by defining multiple Database Access IDs to the same database and splitting script table access evenly between these multiple database access IDs. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 150 5 Creating Database Tables Adding a Remote Database Table Creating a Database Table The Intuity CONVERSANT system supports the creation of remote ORACLE database tables. The remote ORACLE database can be created with different ORACLE Versions, such as Version 5, Version 6, or Version 7. ORACLE Version 7 differs from ORACLE Version 6 in the definition of character fields. For example, in ORACLE Version 6, the field name CHAR defines a variable-length character string, while in Version 7, the CHAR field defines a fixed-length character string and the VARCHAR2 field defines a variable-length character string. The CHAR field will be automatically upgraded to a VARCHAR2 field when the ORACLE Version 6 database table is migrated to Version 7. With this upgrade, it is important that you do not use an existing remote ORACLE Version 7 table that contains the CHAR field to define a variable length character string. The CHAR field should instead be replaced by VARCHAR2. Script Builder uses the oraldb database DIP to interface with the database tables. The DIP deals only with the tables (remote or local) created by the SQL*Plus user “sti/sti.” If, for any reason, table(s) in an application cannot be created and owned by the user “sti/sti,” a few extra operations must be performed before an application can refer to such a table. For example, suppose you want to refer to a table “scott_tbl” created by SQL*Plus user “scott/tiger” in your application. You must complete the following steps before adding this table to your application: 1 Grant access of the table to the user “sti/sti”: a Log in to SQL*Plus as “scott/tiger” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 151 5 Creating Database Tables Creating a Database Table b Type grant all on scott_tbl to sti 2 Create a synonym for the user “sti/sti” that uses the same name as the table name: a Log in to SQL*Plus using “sti/sti” b Type create synonym scott_tbl for scott.scott_tbl Note: Defining the Database Table Structure The synonym must use the same name as the table name. Any deviation of the naming causes errors during runtime. Note that the non-”sti/sti” ownership is only supported on an ORACLE Version 6 or Version 7 machine (remote or local). If your machine has ORACLE Version 5 loaded, your application cannot access tables that were not created/owned by “sti/sti” using the generic database DIP. Defining the database table structure is similar to setting up the columns and rows of a chart. Your options for defining the database table structure are: • Adding one or more fields (columns) to the database table ~ Name must be from 1 to 24 characters in length. ~ Legal characters are letters (A–Z and a–z), numbers (0–9) and underscore (_). ~ First character must be a letter (A–Z or a–z). • Defining the field characteristics Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 152 5 Creating Database Tables Creating a Database Table The data you will enter in the column later must conform to the characteristics of the field at the head of the column. • Removing a field (column) from the database table ! CAUTION: The system does not allow you to define and read a database table at the same time. Therefore, you should redefine information in a database table during off hours or after any scripts accessing the database table have been disabled. ! CAUTION: If an ORACLE database has multiple connections to it (either local or remote), any changes made to the definition of an existing table within that database will not be known by any of those connections until a stupefy and then start_vs has been executed on each machine that has a connection (that is, a Database Access ID that has been defined) to that database. A database table that is currently locked by other processes cannot be redefined (saved). The following message displayed on the screen indicates that the table is currently locked: Alter failed...Can’t drop original table You should make sure that the table is not currently accessed by other processes before redefining the table. If the problem persists, you may want to restart the database to clear the condition. The database may keep a table Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 153 5 Creating Database Tables Creating a Database Table locked inappropriately, so a restart on the database (where the table resides) may clear the condition. To define the structure of a database table: 1 Highlight the database table to be defined from the Table Name menu (Figure 37 on page 148). 2 Press F4 (Define). The system displays the Define Table Structure menu (Figure 39 on page 154). It contains a list of all fields, or column headings, for the database table. For a new database table, the list is empty. Figure 39. Define Table Structure Menu 3 Press F1 (Add) to add a field to the database table. The system displays the Add a Field window (Figure 40 on page 155). a Type the field name. Field names must be unique within an application script. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 154 5 Creating Database Tables Figure 40. Creating a Database Table Add a Field Window b Press F3 (Close) when you are finished typing the new field name. Note that the name (and column) are added following the field (and column) currently highlighted in the Define Table Structure menu. ! CAUTION: After completing the Add a Field window, it is important that you immediately define the field before you SAVE the data. If you define the field after you have completed a SAVE, Script Builder may not allow you to redefine the field if data exists in the table. The exception to this is the redefinition of a field from num, date, or time to char even if data exists for the table. 4 Press F4 (Define). The system displays the Define Field window (Figure 41 on page 155). Figure 41. Define Field Window Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 155 5 Creating Database Tables Creating a Database Table a In the Type field, enter or select the field type. The default is char. See Data Fields on page 42 in Chapter 3, Data Management, for more information about field types. Note: Depending on the particular ORACLE Version (6 or 7) being accessed remotely, Script Builder masks the field type, char, to its appropriate definition. The field will be read as CHAR for ORACLE Version 6, and as VARCHAR2 for Version 7. b In the Column Width field, enter a number for the column width. The second blank is for a special attribute of table fields only and determines the width of the column for the data. The char field default width is 10, while the maximum width is 50. The num field default width is 10, while the maximum width is 11. This width may be more restrictive than the regular limit of the field’s type. For example, the size of a number can be no larger than the field width. If the field width is 4, a number in that field is limited to a range of -999 to 9999 (or +999 if the sign is used). Date fields must have a column width of 10 to accommodate their formats. Time fields must have a column width of 11. If you attempt to use a smaller width, Script Builder sounds a “beep” and a warning message tells you to increase the width. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 156 5 Creating Database Tables Creating a Database Table Also, you can press F4 (Define) to change the field type and/or column width of an already-defined field. If a record already exists for a database table, the only type changes allowed are num, date, and time to char. Note: If you shrink the width of a column that contains data, the data is truncated from the right as necessary to fit, possibly with undesirable results. For example, the number 1234 in a column that is changed to a width of 3 is truncated to 123. c Press F3 (Close) when finished entering the information. 5 To remove a field from a database table, press F2 (Remove). ~ Press F8 (Chg-Keys), then F3 (Save). ! CAUTION: The column associated with the field, including any data in the column, is deleted. Once removed, the field, column, and data cannot be recovered. ~ Press F6 (Cancel) to leave the screen without removing the field. Editing Database Table Contents Use the edit table feature to add records to the database table or to edit existing records. For example, when the River Bank database is updated each week, the same table structure is used. Only the contents are modified. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 157 5 Creating Database Tables Creating a Database Table Likewise, the contents of a database can be edited within an unchanging structure. In another situation within an application, you may want the caller to access the database table and be able to make changes to it. This is useful when the caller needs to change personal information in an account without agent intervention. These changes are made possible through the Modify Table action step in the transaction definition. See Chapter 7, Defining the Transaction, for more information on the Modify Table action step. Your options for editing the contents of a database table include: • Adding one or more records to the table • Searching for one or more records in the table • Changing the contents of a record already in the table • Removing one or more records from the table Note: When editing records in a local database table, Script Builder automatically removes any spaces at the end of a field when storing the field information in the local database. Note: If a record is created outside of Script Builder, be sure to remove any spaces at the end of a field if you want to use Script Builder at a later time to edit the field information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 158 5 Creating Database Tables Accessing the Edit Table Window Creating a Database Table To edit the contents of a database table: 1 Highlight the database table to be edited from the Table Name menu (Figure 37 on page 148). 2 Press F6 (Edit). The system displays the Edit Table window (Figure 42 on page 159). Figure 42. Adding Database Table Records Edit Table Window To add records to a database: 1 From the Edit Table window (Figure 42 on page 159), press F1 (Add). The system displays the Add Record to Table window (Figure 43 on page 160). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 159 5 Creating Database Tables Figure 43. Creating a Database Table Add a Record to Table There is one blank for each new field of the record to be added to the table, preceded by the appropriate field name. Any or all blanks for a given record may be left empty, if desired. Added records are added at the end of the table. 2 Enter a record. 3 Press F3 (Save) when the record is complete. Searching for a Database Table Record A search must be completed to change a record. To search for a particular table record: 1 From the Edit Table window (Figure 42 on page 159), press F5 (Search). The system displays the Search for Record in Table window (Figure 44 on page 161). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 160 5 Creating Database Tables Figure 44. Creating a Database Table Search for Record in Table Window 2 Type the desired data next to the proper field name. The data must be typed exactly as it appears in the table. You can search for any number of fields. Some or all fields may be left blank. For example, to start displaying all the records from the beginning of the table, leave the form field blank. 3 Press F3 (Save) when the form is completed. The system displays the Edit Table window with the first of the matched records. If there are no matches, the Search for Record in Table window remains on the screen with an error message. 4 Press F6 (Next) to move through the records. Once a record has been matched, you can be remove it, change it, or display the next record. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 161 5 Creating Database Tables Changing a Database Table Record Creating a Database Table To change a database table record: 1 Make the record you want to change appear in the Edit Table window (Figure 42 on page 159). This is normally the result of a search, or you can press F6 (Next) to move through the records. 2 Press F4 (Change). The system displays the Change Record in Table window (Figure 45 on page 162). Figure 45. Change Record in Table Window 3 Move the cursor to each field you want to change, and type the new value, replacing the old one. 4 Press F3 (Save) to enter the changes into the database table, or press F6 (Cancel) to leave the database record unchanged. Removing a Database Table Record To remove a record from a database table: 1 Make the record you want to remove appear in the Edit Table window (Figure 42 on page 159). This is normally the result of a search, or you can press F6 (Next) to move through the records. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 162 5 Creating Database Tables Creating a Database Table ! CAUTION: Be careful when executing the F 2 (Remove) function. The system does not display a warning before removing the local database records. 2 Press F2 (Remove), or press F6 (Cancel) to retain the database record. The system removes the record from the database table. If duplicate records exists, the system deletes the duplicates and the record you indicate. Once removed, the record cannot be recovered. Removing a Database Table To remove a database table from your application: ! CAUTION: Exercise extreme caution when removing database tables, particularly database tables on remote machines that are also accessible to other remote machines. If you proceed with the remove function, the entire database table, including name, structure, and contents, is removed and will be unavailable for use by your machine and other remote machines. 1 In the Table Name menu (Figure 37 on page 148), select the name of the database table you want to remove. 2 Press F2 (Remove). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 163 5 Creating Database Tables Creating a Database Table The system displays the Remove Table Confirmation window (Figure 46 on page 164). Figure 46. Remove Table Confirmation Window 3 Then, choose: ~ Press F3 (Cont) to remove the table and associated data. Once removed, the database table cannot be recovered. If the database table contains no fields, no confirmation is displayed. ~ Press F2 (Own) to remove your ownership of the table. ~ Press F6 (Cancel) if you decide not to remove the table. ! CAUTION: After removing a database table, you should make sure that all transactions referencing this table or fields within the table are removed. Once defined as a database field in the transaction, a field remains a database field even after the associated table is removed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 164 5 Creating Database Tables Sharing Database Tables Sharing Database Tables You may choose to use database tables from other applications. Database tables may be shared in the following ways: • By specifying an existing database table name in the Table Name menu (Figure 37 on page 148). Specifying table names allows you to own the database table. Ownership gives you the capability to edit the data within the database table. • By naming an existing database table within the transaction definition, but not specifying the table name in the Table Name menu. While you may share the data in the database table, you cannot edit data within the table using the Database screen if you do not own the table. Data within the table may be changed based on caller input by using a Modify Table action in the transaction definition of the application. ! CAUTION: When using shared database tables, be aware that the database table can be changed by another owner. A system of communication to inform co-owners of database changes should be in place. If undefined tables or fields appear while performing a VERIFY of the application, see Chapter 1, “Troubleshooting,” in the maintenance book for your platform. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 165 5 Creating Database Tables Restoring Local Database Tables Tables with the same name residing in different ORACLE databases on different machines may not be accessed by the same application without first creating a separate view or synonym of one of the tables. The view name or synonym is then used to access one of the tables, acting as an “alias” for the real name. See the “SQL*Plus User’s Guide and Reference” for information on creating views of tables. Restoring Local Database Tables To restore local database tables: 1 In the Script Builder Applications menu (Figure 12 on page 36), highlight the application for which you are restoring database tables. 2 Insert the appropriate disk or tape into the drive. 3 Press F6 (Restore). The system displays the Restore Components menu (Figure 47 on page 167). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 166 5 Creating Database Tables Figure 47. Restoring Local Database Tables Restore Components Menu 4 Select >Local Database Tables The system displays the message: Enter "F" to use FLOPPY DISK Enter "C" to use CARTRIDGE TAPE Enter "Q" to stop. 5 Enter F if you are restoring from floppy disk, C if you are restoring from cartridge tape, and Q if you want to quit. After the database tables have been restored, the following system response appears: Restore tables successful Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 167 5 Creating Database Tables Tips for Database Tables 6 Press EN TE R to return to the Restore Components menu. See Restoring an Application on page 691 in Chapter 10, Application Administration, for more information about restoring Script Builder applications. See Chapter 2, “UNIX Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information about UnixWare restore service operations. Tips for Database Tables This section includes tips for working with database tables in your Script Builder applications. Creating Larger Initial Extend for Tables/Indexes Tables created through Script Builder use the system default storage parameter values which may be too small for some of the application tables. If you expect the application table may grow larger than 1 MByte, use SQL*Plus to create the table. In SQL*Plus, you can specify the “storage” statement when creating a table. Specifying a larger initial extend to start with reduces the chances of the table growing into many fragmented extents in the future. For example, if you estimate the application table will eventually grow to 5 MByte, run sqlplus and Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 168 5 Creating Database Tables Tips for Database Tables create the table MYTABLE as follows with 5 MByte to start and expand in 1 MByte trunks if needed: create table MYTABLE (EMPLOYEE varchar(60), ...) storage (initial 5m, next 1m); Without specifying the storage statement, the table starts with the initial 10 KByte size and grows in 80 KByte trunks. The table may contain a lot of small fragments which makes retrieval of the table slower than the table with a larger contiguous space. In summary, try to make the initial extend as large as you expect the table to grow. Creating a Work Around for a Table with More Than 15 Fields Script Builder supports tables of up to 15 fields. Here is how you can work around the restriction. Table for Read Only Create a view that references no more than 15 fields of the real table (the view must be owned by the sqlplus user sti). Treat the view as a table and provide the view name (instead of the table name) when adding the table to the application. If all the fields (more than 15) are needed in the application, create multiple views to reference all fields. All views should contain the same key field so that your application can link them together. For example, if the table is the Employee table, all views should contain the Employee_number field. However, you have to rename the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 169 5 Creating Database Tables Tips for Database Tables Employee_number in each of the views (Script Builder does not allow duplicate field names). Table to Be Inserted As in creating a table for read only (see Table for Read Only on page 169), create multiple views for the table. Insert the record using view1 and populate all fields for view1. Select the record using view2, for example, for the record you just inserted. Update the record using view2 to update the remaining unpopulated fields. Working Around the The Script Builder Database Administration screen limits the number of Limit of 10 Tables tables per application to 10, but you can reference additional tables in the per Application Transaction screen. In other words, you can only own up to 10 tables in an application, but you can read or update an unlimited number of tables in an application. Connecting to a Remote Database The Intuity CONVERSANT system is able to connect to any version of an Oracle database using SQL*NET V2. The remote machine must have the same version of SQL*NET software installed and activated. To use SQL*NET V2, turn on the listener. There are other requirements besides SQL*NET that must be met before the application can successfully access the remote database: 1 A SQL*Plus user sti with password sti must be created. 2 The sti user must have create table privilege. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 170 5 Creating Database Tables Tips for Database Tables 3 The object (table, view, or synonym) referenced in the application must be owned by sti. If the table is not owned by sti, a view or synonym must be created and owned by sti to reference the table. Then the view or synonym is treated like a table in the Script Builder application. 4 If the remote table contains DATE data type, the LDBCOLS table must be populated with corresponding entries. Changing the Definition of a Large Database Table If a table is already populated with many records (more than 300), do not use Script Builder to change the table definition. The database DIP will perform the following operations in response to a Script Builder change table request: 1 Create a temporary table with the new definition. 2 Copy all records from the old table into the new table. 3 Drop the old table. 4 Rename the new table to the correct name. Completing step 2 may take a significant amount of time depending on the size of the data. Script Builder waits for the transaction for only 30 seconds, then determines the disposition of the transaction. It the database DIP takes more than 30 seconds to perform the transaction, Script Builder times out. If step 2 takes more than 45 seconds, other messages queued to the DIP are be lost. If it takes more than 300 seconds, the DIP quits and must be restarted. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 171 5 Creating Database Tables Tips for Database Tables In summary, use SQL*Plus to modify the table definition if a table already contains more than 300 records. Informing the Database DIP of Changed Definitions To improve efficiency, the definition of a table used in Script Builder applications is cached into the database DIP’s memory. If the table definition is changed using SQL*Plus, the DIP would not be aware of the changes. You have to restart the database DIP to make it refresh its memory about the table before you reverify/reinstall the application. You can either kill the DIP, or restart the voice system. If you are using Script Builder to modify the table definition, the DIP picks up the changes in real time. However, you still need to reverify and reinstall the applications after the table is changed. Creating Indexes for Large Database Tables If you encounter a “maximum number of extents exceeded” error while trying to create an index for a relatively large database table, it may be caused by an ORACLE inefficiency present in both ORACLE Version 6 and ORACLE Version 7. ORACLE internally uses a temporary segment to do the data sorting needed for creating the index. In spite of the STORAGE statement you may have specified for the index table, the space allocation of the temporary segment is restricted by the tablespace default setting. In a standard Intuity CONVERSANT environment, the SYSTEM tablespace has the STORAGE default as (INITIAL 10K NEXT 40 KByte MAXEXTENTS 121). This allows a segment to grow in 40 KByte trunks as many as 120 times for total size of up to about 4.8 MByte (10 KByte + 40 KByte * 120) as default. If the temporary segment is required to go beyond 4.8 megabytes to support the index creation, the index creating process fails. You will likely get the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 172 5 Creating Database Tables Tips for Database Tables ORA-01556 error (for ORACLE Version 6) or the ORA-01630 error (for ORACLE Version 7) while trying to create the index. If you believe the STORAGE statement you specified for the index table is appropriate, perform the following procedure to work around the problem. 1 Log in as root. 2 Stop the voice system by entering stop_vs This is recommended because creating an index for a large database table may consume significant CPU resources. You can skip this step and perform the rest of the procedure with the voice system running. However, you should do this only if the traffic load is small enough that enough CPU resources are available to support the traffic handling while the index creation is in progressing. 3 Run SQL*Plus as system/manager by entering sqlplus system/manager 4 Enter select * from sys.dba_tablespaces 5 If the values of INITIAL_EXTENTS, NEXT_EXTENTS and MAXEXTENTS differ from the defaults set by Intuity CONVERSANT, which are 10240, 40960 and 121 respectively, take note of the current value of these variables (you should re-tune your database when you have completed this procedure). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 173 5 Creating Database Tables Tips for Database Tables 6 Enter alter tablespace system default storage (INITIAL xM NEXT yM MAXEXTENTS 121); where x is the size in megabytes that you want the temporary segment to start with, and y is the size in megabytes that you want the temporary segment to expand each time. You can choose to use “K” instead of “M” to specify sizes in kilobytes. Specify the value and unit carefully. For simplicity, you can use the values and the unit you specified in the STORAGE statement for the index table. 7 Exit SQL*Plus by entering quit 8 Re-run your procedure to create the index table. If the problem persists, it is possible that the STORAGE statement (INITIAL and NEXT values) is still not appropriate. Repeat step 3, step 6 (with increased values), and step 7. If you believe the problem cannot be resolved by repeating these steps, continue with step 9. 9 Run SQL*Plus as system/manager by entering sqlplus system/manager 10 Enter alter tablespace system default storage (INITIAL 10240 NEXT 40960 MAXEXTENTS 121); If you noted that the values in step 5 were different from these default values, replace the values you wrote down in step 5. 11 Exit SQL*Plus by entering quit Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 174 5 Creating Database Tables Tips for Database Tables 12 If the index creation was successful, re-start the voice system by entering start_vs 13 If the index creation failed in step 8, contact the Lucent Technologies Technical Support Center. Note: See Chapter 6, “Database Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information on indexing database tables. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 175 6 Defining Parameters Overview The Parameters component of Script Builder allows you to control how an application responds based on date, time, speech available, and host computer available. This chapter discusses how to administer the parameter settings for an application. Topics covered include: • Accessing the Parameters Menu on page 177 • Defining Business Hours on page 178 • Defining Call Data Events on page 182 • Defining Holidays on page 188 • Defining the Host Interface on page 191 • Defining Seasonal Greetings on page 200 • Defining Shared Host Applications on page 204 • Defining Shared Speech on page 207 • Using Parameter Settings in the Transaction on page 210 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 176 6 Defining Parameters Accessing the Parameters Menu Accessing the Parameters Menu When you are ready to define the parameters that are specific to your application, you must access the parameters menu. To access the parameters menu: 1 Select Parameters from the Define Application Menu (Figure 14 on page 40). The system displays the Parameters menu (Figure 48 on page 177). Figure 48. Parameters Menu 2 Select the parameter that you want to define. Note: Administer all of your parameters before you begin defining the Transaction component for the application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 177 6 Defining Parameters Defining Business Hours Defining Business Hours An installed Script Builder application that is running on the system operates continuously. However, a part of the application may depend on an external activity that does not run 24 hours a day, such as agents or a host computer. Because of this dependency, you may need to use the Business Hours parameter to limit some services to times when resources are available. In the River Bank sample application (see Appendix A, Sample Application), callers can be transferred to customer service representatives who are on duty from 8:00 AM until 4:30 PM, Monday through Friday. Hours In and Hours The times when the service representatives are available are called Hours In. Out All other times are Hours Out. Use the Parameters component to define these business hours. Note: The system is not logged off from the host computer during the Hours Out period. If the host is taken down, the system periodically tries to log in until the host is brought back up. When the application is running, the system checks the time of day and day of the week for each call, then determines whether it is an Hours In or Hours Out call. The system automatically refers to the appropriate subroutine (label) of a transaction to accommodate time-dependent calls. Each period between Start time and End time is defined as Hours In. All other times are called Hours Out. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 178 6 Defining Parameters Defining Business Hours Note that an Hours In time range can span one or more days. For example, to specify continuous Hours In from 8:00 AM Monday through 5:00 PM Friday, only fill in the Start time on Monday and the End time on Friday (Figure 49 on page 179). Figure 49. Business Hours Screen The system needs to be able to determine if any time during the week is Hours In or Hours Out. Check to make sure that there are no overlaps of times, and that all times excluded are supposed to be Hours Out. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 179 6 Defining Parameters Defining Business Hours ! CAUTION: If you use the Business Hours parameter, make sure the UnixWare operating system date and time have been set correctly. See Chapter 8, “Daily Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. Specifying Business Hours To specify Business Hours: 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177. 2 Select >Business Hours The system displays the Business Hours screen (see Figure 49 on page 179 for an example). 3 Change the value in the DO YOU ALLOW SPECIFIC BUSINESS HOURS field from no (default) to yes by entering y, or press F2 (Choices) to select from a menu. Note: If the value in this field is no, the entire application transaction is continuously accessible, and you cannot move the cursor anywhere else on the screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 180 6 Defining Parameters Defining Business Hours 4 For each applicable day: a Type the desired hour or press F2 (Choices) to select the hour from a menu. Valid entries are the integers from 1 to 12. Note that 12:00 a.m. is considered midnight, and 12:00 p.m. is considered noon (to avoid this sometimes confusing issue, you could specify 12:01 a.m. as midnight and 12:01 p.m. as noon). b Type the desired minute or press F2 (Choices) to select the minute from a menu. Valid entries are the integers from 1 to 59. c Press F2 (Choices) to select from the menu. Valid entries are AM and PM. 5 When the Business Hours screen is complete: a Press F3 (Close) to enter the business hours in the Parameters definition. The system reminds you to make sure your transaction definition specifies the action steps to be performed during the Hours In and Hours Out time periods. For more information on specifying the action steps for labels in an application, see Chapter 7, Defining the Transaction. b Press F3 (Save) to save the information. c Select another item from the Parameters menu, or press F6 (Cancel) to return to the Define Application menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 181 6 Defining Parameters Defining Call Data Events Defining Call Data Events Use the Call Data Events parameter to collect and save data. The Call Data Events parameter allows the system to collect two types of data about every transaction that occurs on the system. One kind of data is generic data that applies to every call and is captured automatically by the system. The other kind of data is application-specific custom data that requires knowledge of the particular transaction. This type of data must be requested; it is not captured automatically by the system. Script Builder deals only with the applicationspecific custom data, since generic data is collected already for every call. ApplicationSpecific Data You can decide if application-specific data is to be collected and indicate what data to store. This data is then appended to the call record that is automatically generated for the generic data. For example, a banking application could save the caller’s account number and current balance, so that bank managers can analyze what accounts use the service and how they use it. Or, perhaps a college registration application saves the student’s ID number, the number of courses added, and the total number of course hours registered. The Call Data Events window (Figure 50 on page 183) is for indicating the application-specific custom data that is to be collected and saved for each call. This information can be accessed later for analysis or summarization. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 182 6 Defining Parameters Figure 50. Defining Call Data Events Call Data Events Window Use Script Builder only for specifying the values of the custom data fields to be passed to the system for compilation. The system performs call data compilation and reporting. See Chapter 3, “TAS Script Instructions,” in Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203. Specifying Fields You can specify any field used in the transaction. That is, you can list host fields and local database fields as well as system and transaction fields. If the field is used during the transaction, the value it holds when the transaction ends is saved. If the field is not used during the transaction, the field contains 0 (zero) for type num or null for types char, date, and time. For more information on field types, see Field Type on page 47 in Chapter 3, Data Management. The value in the field when the transaction ends is what gets captured and stored in the call data record. A transaction ends when a Quit action step is performed or when a caller hangup is detected. Some fields are used many times within a call, therefore, earlier values are replaced by the most recently stored values. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 183 6 Defining Parameters Defining Call Data Events An example is the system field $CI_VALUE, the default field for getting a caller’s input. A transaction might use this field several times. If you want one of the early values entered by the caller, you must preserve it so that the value is in a field when the transaction ends, and you must include that field’s name in the list in the Call Data Events window. To preserve the value, use the Set Field Value action step. See Chapter 7, Defining the Transaction, for more information. Specifying Call Data To specify call data events: Event Information 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177. 2 Select >Call Data Events The system displays the Call Data Events window (Figure 50 on page 183). 3 To add a field, press F1 (Add). The system displays the Enter Name of Field window (Figure 51 on page 185). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 184 6 Defining Parameters Defining Call Data Events Figure 51. Enter Name of Field Window a Type the name of the desired field or press F2 (Choices) to select from a menu of all fields referenced in the application. You may also add a new field, as opposed to a field that already exists in the application. However, you can not define the new field in the Enter Name of Field window. You must define each field in its respective Script Builder component (for example, Host, Local Database, or Transaction). See Chapter 2, User Interface, and Chapter 7, Defining the Transaction, for further information on creating new Call Data Event fields. b Press F3 (Close) to save the additions, or press F6 (Cancel) to close the window and return to the Call Data Events window. 4 To remove a field from the list, use the cursor movement keys to highlight the field, then press F2 (Remove). 5 Press F3 (Save) to preserve the additions and/or deletions made. 6 Press F6 (Cancel) to close the menu and return to the Define Application menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 185 6 Defining Parameters Call Event Limits Defining Call Data Events The maximum number of fields that can be captured and stored is 100. The system reserves a fixed amount of space for application-specific call data. Because of the way the system uses this reserved space, the exact number of fields that can be handled in any given application depends on the field types. When you try to install your application, Script Builder calculates how much space it uses and how much remains. A warning message appears if the available space is used up or exceeded. Any fields listed beyond the system capacity are ignored. The following are examples of these limits: • If all fields you want to save are numeric or short character fields (1, 2, or 3 characters long), you can save 100 fields. • If all fields are strings of 7 characters, such as standard 7-digit telephone numbers, you can save 50 fields. • If all fields are dates, which are stored internally as strings of 8 characters, you can save 33 fields. • If all fields are social security numbers (9 characters), you can save 33 fields. Each field could come from either caller touch-tone input or from a host screen or local database. Note that social security numbers are in a range such that they can be represented within Script Builder as a num field. That is, you could get a social security number as a 9-digit char field and save it in a num field. This way you could save 100 such numbers, but, you would later have to convert the number back to a char field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 186 6 Defining Parameters Defining Call Data Events • If all fields are 14-character credit card numbers, you can save 25 fields. • If all fields are 24-character fields, such as product names retrieved from the host or a local database, you can store 14 fields. Note: No single event can be more than 80 characters in length. Most applications have fields of different types and sizes. This makes it difficult to determine exactly how many fields you can save for a particular application. ! CAUTION: Call event data is stored and retrieved by Script Builder according to a script name and an internal event ID. If a call event field is modified, whether through an ADD or REMOVE of an event field in the appl_name.D file, the mapping between an internal event ID and an event field is corrupted and the call data will be incorrect. Therefore, if you want to save or use existing call event data, copy and rename the script each time you modify an event field in an existing script. The existing call event data may then be accessed using the name of the old script. For more information on sizing the database and how call events affect the database, see Chapter 6, “Database Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 187 6 Defining Parameters Defining Holidays Defining Holidays Use the Holidays parameter to specify how calls are to be handled during holidays. It works much like the Business Hours parameter. Holiday dates are entered on a holiday list. When calls come into the system, the date is checked, and if the current date is one of those dates in the holiday list, the transaction begins at the Holiday label. For more information about using labels, see Chapter 7, Defining the Transaction. Note: You do not need to use the Holiday feature; that is, you do not need to include any dates in the Holiday list. If dates are in the list, you must provide a Holiday label in the transaction. Specifying Holidays To specify Holidays: 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177. 2 Select >Holidays The system displays the Holidays window (Figure 52 on page 189). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 188 6 Defining Parameters Defining Holidays Figure 52. Holidays Window The Holidays window contains a list of dates in which calls are to be handled differently because of a holiday. You can remove holidays or add them to the top of the list. Dates appear in the format of month, day, and year (MM/DD/YYYY). Note: Older applications using the date format of MM/DD/YY are converted automatically to the date format MM/DD/YYYY during installation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 189 6 Defining Parameters Defining Holidays 3 Each new holiday you add appears below the cursor location in the Holidays window. To add a holiday, place the cursor in the desired location, then press F1 (Add). The system displays the Add Holiday window (Figure 53 on page 190). Figure 53. Add Holidays Window a Use the cursor movement keys to move through the window, filling in the date of the new holiday, or press F2 (Choices) to select a date. b After the date is entered, press F3 (Close) to add the date to the holiday list. At this point, the date is validated. If the date is incorrect for the calendar year specified (such as 02/29/1999), an error message appears in the message line. Note: The Add Holiday window remains open until all new dates are added. To close the Add Holiday window, press F 6 (Cancel). If you press F6 (Cancel) with unsaved information in the Date fields, a screen appears telling you that changes to this window have not been saved. c Press F3 (Save) then F 6 (Cancel) to return to the Parameters menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 190 6 Defining Parameters Defining the Host Interface 4 To remove a holiday, use the cursor movement keys to move to the date to be removed. a Press F2 (Remove). b Select and remove additional dates if required. c Press F3 (Save) then F 6 (Cancel) to return to the Parameters menu. Defining the Host Interface The Host Interface parameter allows you to specify a host interface within the application. If your application uses a host interface, you must specify certain parameters of the host environment. Note: Host Timeout Values The default for a new application is that a host interface is not being used. If your application does not use a host interface, Script Builder needs no further information. Script Builder uses host timeout values in the Host Interface Parameters and in the transaction to indicate trouble conditions when expecting a screen from the host computer. The timeout values indicate how long the system will wait for a screen from the host computer. The timeout values that you need to set in the Host Interface Parameters screen (Figure 54 on page 198) are • Initial Timeout • Unrecognized Screen Timeout Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 191 6 Defining Parameters • Defining the Host Interface LU Availability Timeout Host timeouts occur during a Send Host Screen action step. You specify the way the transaction responds to the timeout in the following Get Host Screen action step. See Defining Send Host Screen on page 312 and Defining Get Host Screen on page 258 in Chapter 7, Defining the Transaction, for more information. Initial Timeout Initial Timeout is the maximum time the system waits for the first screen to arrive from the host in response to a Send Host Screen action step. Message HOST001 is logged if the host does not send a screen within the Initial Timeout value. Valid values for Initial Timeout are from 0 to 300. Values from 1 to 300 specify time in seconds. A value of zero (0) specifies that the system waits indefinitely for a screen from the host computer. When an Initial Timeout occurs, a HOST_TIMEOUT condition (state) exists on that session until it is removed by the system. A Get Host Screen action step executed during a HOST_TIMEOUT state performs the action steps listed for the HOST_TIMEOUT state if that state is specified. If this state is not specified, the application does one of the following: 1 Continue with the next action step following the Get Host Screen action if the assigned session is logging in, logging out, or recovering. 2 Quit if handling a call. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 192 6 Defining Parameters Defining the Host Interface Following this, the system removes the HOST_TIMEOUT state. The next Send Host Screen starts the timer again. In specifying the Initial Timeout value, consider the host performance. The goal is to avoid a timeout caused by a typical busy condition, while not pausing the running application any longer than necessary to detect a problem condition. The Initial Timeout should be set to the time the host takes to respond after sending a screen. The first response from the host to a Send Host Screen action usually takes longer than later responses during the transaction. To account for this, the Initial Timeout should be set larger than the Unrecognized Screen Timeout (see Unrecognized Screen Timeout on page 194). The default value is 60 seconds, although many systems can work well with a value closer to 10 seconds. For best results, use a value recommended by someone who knows your host system well. The application waits up to the Initial Timeout value for the response from the host only if the request to send a screen was accepted by the 3270 circuit card. Otherwise, the Send Host Screen action fails immediately and returns the error HOST004 (for some reason, the host is not talking to your computer). If the host link is broken, the Send Host Screen action usually returns with HOST004 instead of HOST001(HOST_TIMEOUT). A Get Host Screen action step that is executed while a HOST004 error is active performs the action steps listed for the UNRECOGNIZED_SCREEN state if the state is specified. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 193 6 Defining Parameters Unrecognized Screen Timeout Defining the Host Interface The Unrecognized Screen Timeout is the time allowed for the host to send an expected screen (that is, a screen that matches the screens listed) in the Get Host Screen action. Message HOST002 is logged if the host does not respond with an expected screen within the Unrecognized Screen Timeout period (and the HOST_TIMEOUT condition does not exist). When an Unrecognized Screen Timeout occurs, an UNRECOGNIZED_SCREEN condition (state) exists. A Get Host Screen action step that is executed during an UNRECOGNIZED_SCREEN state performs the action steps listed for the UNRECOGNIZED_SCREEN state if the state is specified. Each unexpected screen sent from the host restarts the Unrecognized Screen Timeout timer. For example, if an unexpected screen arrives from the host with 15 seconds remaining before the 60-second Unrecognized Screen Timeout value expires, the Get Host Screen action waits another 60 seconds for the expected screen. The Get Host Screen action step is completed when one of the following occurs: • An expected screen arrives before the Unrecognized Screen Timeout occurs – the system performs the action steps listed for the case that is matched by the expected screen. • An Unrecognized Screen Timeout occurs – the system performs the action steps listed for the UNRECOGNIZED_SCREEN state if that state is specified. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 194 6 Defining Parameters • Defining the Host Interface A HOST_TIMEOUT state exists – the system performs the action steps listed for the HOST_TIMEOUT state if that state is specified. Valid values for Unrecognized Screen Timeout are from 0 to 300. Values from 1 to 300 specify time in seconds. A value of zero (0) specifies that the system waits indefinitely between screens from the host computer. Sometimes when expecting a specific screen from a host, different intermediate screens appear before the desired screen arrives. If an Unrecognized Screen Timeout occurs, it may be due to unexpectedly slow host performance causing eventual failure of an expected screen to arrive. Give the same considerations to this value as to the Initial Timeout value, as described in Initial Timeout on page 192. Logical Unit The system connection to the host is made via an SDLC/RS-232 and/or Availability Timeout token ring interface, using up to 128 emulated IBM 3270 terminals. Each terminal is assigned a logical unit (LU), or channel, to the host. The system supports up to three cards (two SDLC cards, plus a token ring card), one for each host connection. The LUs are numbered from 0 to 127. Note, however, that the maximum system capability is a combined total of 128 LUs on all host cards. The LU Availability Timeout is the maximum amount of time, in seconds, that the system waits for an LU to become available. The valid values range from 0 to 45. Values from 1 to 45 specify time in seconds. The default is zero (0), meaning that the system should not wait for an LU. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 195 6 Defining Parameters Defining the Host Interface Reserve a Logical Unit You can specify if the system reserves an LU when a call comes in. This refers only to the home host application, not to other applications sharing this host application. If an LU is not reserved, the system assigns an LU the first time a Get Host Screen or Send Host Screen action step occurs. The easiest way to provide host access is to reserve an LU at the start of the call and not release it until the end of the call. This is the system default process for host applications. Logical Unit Login IDs / Passwords Use the Host Interface Parameters screen to list up to 128 login IDs, and the corresponding password values, if any. In other words, up to 128 entries to a host session are available. You specify which entries you want to make available to the application. When the application is assigned, it attempts to log in to the host using as many entries as required for the number of LUs assigned. The system uses the next available (unused) login ID and its corresponding password for system fields $HOST_LOGINID and $HOST_PASSWORD, respectively (or for the fields you have selected for those values). Note: You must have as many login IDs and passwords as needed to accommodate the number of LUs assigned in the application. Note: If your application needs only a single login ID and/or password for all host LUs used, you could set the login ID and/or password as a constant in your application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 196 6 Defining Parameters Defining the Host Interface ! CAUTION: During development and testing, activate only one LU to minimize recovery procedures if problems occur. Specifying Host Interface Parameters To specify the Host Interface parameters: 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177 at the beginning of this chapter. 2 Select >Host Interface Parameters The system displays Page 1 of the Host Interface Parameter screen (Figure 54 on page 198). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 197 6 Defining Parameters Figure 54. Defining the Host Interface Host Interface Parameters Screen, Page 1 3 Change the value in the Is a host interface contained in this application? field from no (default) to yes to specify that a host interface is being used. Enter y or press F2 (Choices) to select from a menu. 4 Enter your selected value in each of in the three fields for timeouts. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 198 6 Defining Parameters Defining the Host Interface 5 In the Is an LU to be reserved when call starts? field, specify whether or not an LU is to be reserved by entering y or n, or press F2 (Choices) to select from a menu. Note: It may be necessary to share LUs because not enough LU voice channels are in service. In this situation, do not reserve an LU until it is needed, then release the LU when it is no longer needed in the transaction. To do this, enter no in this field, then use the Release LU option in the Get Host Screen action step. 6 If required by your host application, enter a LOGINID and PASSWORD (if required) for each host session entry you want this application to be able to use when it is assigned. If your host application does not require a login ID or password, leave the spaces blank. 7 Press F8 (Chg-Keys) followed by F4 (Nextpage) and F3 (Prevpage) to display the other Host Interface Parameters screen pages. This screen includes four pages for additional logins and passwords. 8 When the screen is completed as desired: a Press F3 (Close) to return to the Parameters menu. b Press F3 (Save) to save the information. c Select another item from the Parameters menu, or press F 6 (Cancel) to return to the Define Application menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 199 6 Defining Parameters Defining Seasonal Greetings Defining Seasonal Greetings The Seasonal Greeting parameter allows you to customize a call with a greeting appropriate for a single holiday or a holiday season. Whenever a call is received during a holiday season, Script Builder looks for the appropriate greeting. If seasons overlap, the greeting of each current season is announced in the order determined by the list of seasons in the Seasonal Greetings screen. Each Seasonal Greeting is a single phrase that you must include in the speech file for the application. The Seasonal Greeting phrase(s) are played immediately following any Answer Phone action step in the Transaction. Seasonal Greetings are all played with interrupt enabled. If the caller responds during the Seasonal Greeting, the greeting is interrupted and the transaction continues with the next action after Answer Phone. Often, the next action step is Announce or Prompt & Collect. If the interrupt is enabled for the next message, that message is also interrupted. To prevent this, you can select no to inhibit the interrupt. See Chapter 7, Defining the Transaction. Specifying To specify Seasonal Greetings: Seasonal Greetings 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177 at the beginning of this chapter. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 200 6 Defining Parameters Defining Seasonal Greetings 2 Select >Seasonal Greetings The system displays the Seasonal Greetings window (Figure 55 on page 201). The Seasonal Greetings window lists the Starting and Ending dates along with each Greeting Phrase for your application. The Seasonal Greetings window also allows you to either add or remove Seasonal Greetings. Figure 55. Seasonal Greeting Window 3 To add a seasonal greeting: a Press F1 (Add) from the Seasonal Greetings window. The system displays the Add Seasonal Greeting window (Figure 56 on page 202). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 201 6 Defining Parameters Defining Seasonal Greetings Figure 56. Add Seasonal Greeting Window b Use the cursor movement keys to move through the window. Fill in the START Date, END Date, and Greeting Phrase fields as desired. Dates are in month/date/year (mm/dd/yyyy) format. The message is announced during the period beginning at 12:01 a.m. of the start date until 11:59 p.m. of the end date. If you want the greeting to play for a single day, make the START Date and END Date fields the same date. Note: Older applications using the date format of MM/DD/YY are converted automatically to the date format MM/DD/YYYY during installation. You can press F2 (Choices) for a selection of dates and phrases. The phrases in the choices menu include all the system phrases. The custom phrases are listed in the Custom Phrase Tags screen (Figure 57 on page 203). Standard phrases begin with a colon and can be accessed through the F 2 (Std-Phr) key when the Custom Phrase Tags screen is open. You can create a phrase appropriate for the season if one is not listed in the choices menu. The greeting phrase tag is limited Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 202 6 Defining Parameters Defining Seasonal Greetings to a maximum length of 50 characters. If you need to record a new greeting, see Chapter 9, Speech Administration, for more information. Figure 57. Custom Phrase Tags Screen c Press F3 (Close) to add the greeting to the seasonal greetings list. d Press F3 (Save) in the Parameters menu. The seasonal greeting just entered is saved. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 203 6 Defining Parameters Defining Shared Host Applications 4 To remove a seasonal greeting,do the following: a Move the cursor to the greeting to be removed and press F2 (Remove). The date is removed from the seasonal greeting list. b Press F3 (Close) to close the Seasonal Greetings window and return to the Parameters menu. The Seasonal Greeting has been removed from the Seasonal Greetings list but not from the Parameters file. c Press F3 (Save) while in the Parameters menu to complete the removal. Defining Shared Host Applications You can have multiple voice response applications sharing one host interface application, which eliminates the need to develop the same host application repeatedly. With sharing of host applications, one voice application can also have access to up to eight different host applications. If you have an application that uses screens from other host interface applications, you must list those applications within the Shared Host Applications parameter. When applications are shared, the shared screens and fields are available to Script Builder when you define the transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 204 6 Defining Parameters Defining Shared Host Applications You can specify up to eight host application names. You can use either existing or new names. Following these guidelines when creating an application name: Specifying Shared Host Applications • The name must be from 1 to 11 characters in length. • Valid characters are letters (A–Z and a–z), numbers (0–9), and the underscore (_). • The application’s first character must be a letter (A–Z and a–z). It cannot be any other character or a digit. • Names are case sensitive; that is, ABC is not the same as Abc or abc. To specify Shared Host Applications: 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177 at the beginning of this chapter. 2 Select >Shared Host Applications The system displays the Shared Host Applications window (Figure 58 on page 206). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 205 6 Defining Parameters Figure 58. Defining Shared Host Applications Shared Host Applications Window 3 Enter the application names on the lines in the Shared Host Applications window, or press F2 (Choices) to make a selection from a menu. Pressing F2 (Choices) displays all existing application names. After naming a host application, Script Builder checks the validity of the input and rejects anything that does not follow the rules. 4 Press F3 (Close) after you enter or select all desired application names. Script Builder performs a check to make sure that the current application and all shared applications contain unique screen names and field names. The system displays a warning message if a nonunique name is discovered. 5 Press F3 (Save) in the Parameters menu to save the information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 206 6 Defining Parameters Defining Shared Speech 6 Select another item from the Parameters menu, or press F 6 (Cancel) to return to the Define Application menu. Defining Shared Speech The Shared Speech Pools parameter allows existing applications to share common speech phrases. The advantage to sharing speech among applications is that shared speech phrases need to be administered, recorded, and stored only once. If you have no need to share speech among several applications, you do not need to define Shared Speech Pools. Enhanced Basic Two types of speech are available: enhanced basic speech (EBS) and Speech and Custom custom speech. EBS includes frequently used standard phrases that are not Speech dependent on any one application. Examples of standard phrases are monetary values, time, weekdays, months, and numbers. Custom speech refers to speech phrases that are designed specifically to fit the application being developed. For example, the phrase “Hello, welcome to River Bank, where the customer is always first!” would only be used with the River Bank application. Primary and Secondary Speech Pools Script Builder allows you to group speech into one of two different speech pools: primary and secondary. Normally, custom speech phrases can be stored in either the primary and/or secondary speech pools, whereas Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 207 6 Defining Parameters Defining Shared Speech Enhanced Basic Speech phrases (those with predefined phrase tags) must be stored in the primary speech pool. Typically, you want to have custom phrases stored in the home application’s speech pool and the standard phrases stored in a common or shared speech pool. Note: If you specify a primary speech pool, you must put phrases in this speech pool. If you do not, the installation of the application will fail. Note: If you specify a secondary speech pool, you must create the speech pool through the Shared Speech Pools screen. If you specify a secondary speech pool, you must create the secondary speech pool even if you do not put any phrases in it. If you do not, the installation of the application will fail. The Shared Speech Pools window requests the names of the Primary and Secondary speech pools. The name of the current application is the default. Once two speech pool names are specified, and if they are different from the current application, the speech in the current application is not used by the transaction. When you select or create a different speech pool name, the system copies all the phrase tags from the previous speech pool to the new speech pool. The system asks you to confirm the change. When you verify the application, the system informs you if the old speech pool contained tags that were not contained in the new speech pool. You must rerecord, import, or copy those phrases. When the system completes copying the phrase tags, the speech in Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 208 6 Defining Parameters Defining Shared Speech the old speech pool remains unchanged. You may remove the old speech pool completely if it is not needed. See Chapter 9, Speech Administration, for more information. Specifying Shared Speech Pools To specify Shared Speech Pools: 1 Access the Parameters menu as described in Accessing the Parameters Menu on page 177 at the beginning of this chapter. 2 Select >Shared Speech Pools The system displays the Shared Speech Pools window (Figure 59 on page 209). Figure 59. Shared Speech Pools Window Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 209 6 Defining Parameters Using Parameter Settings in the Transaction 3 Use the cursor movement keys to move through the window, filling in the application names. Press F2 (Choices) for a list of all the Script Builder applications. 4 In the Speech Format Language field, select a language from the optional Enhanced Basic Speech languages available on your system. 5 Press F3 (Close) to return to the Parameters menu. Using Parameter Settings in the Transaction Within the Parameters component, you specify whether you are using a host computer with automatic logical unit (LU) reservation, Business Hours, and/or Holidays. However, you do not specify the activities that take place when a caller uses the system. This is done within the Transaction component. Depending on the Parameter settings, you specify that the transaction can work in several different environments. For each of these environments, the transaction must include a label to specify how the system should handle a call. As each telephone call takes place, the system automatically determines the proper label to use (based on whether the Business Hours parameter is being used, whether the call is taking place during in- or out-of-service hours, etc). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 210 6 Defining Parameters Using Parameter Settings in the Transaction Applications that do not specify any particular business hours are considered to be in-service permanently. Applications that do not use a host have a permanent host down status. If any dates are given in the Holidays parameter, the application has holiday status on all dates in the list. Some action steps are grouped into a process that is identified by a label, such as HOURS_OUT. The procedure for specifying Transaction labels is explained in Chapter 7, Defining the Transaction. The following list reviews the labels that you must include in the Transaction, based on the environments created by your application’s parameter specifications. • Parameters:No Host Definition or Reserve LU Not Used Business Hours Not Used The Transaction variation environment and label: ~ Host not used, business hours not used Start: • Parameters:Host Definition Provided and Reserve LU Used Business Hours Not Used The Transaction environments and labels: ~ Host up HOST_UP: ~ Host down HOST_DOWN: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 211 6 Defining Parameters • Using Parameter Settings in the Transaction Parameters:No Host Definition or Reserve LU Not Used Business Hours Used The Transaction environments and labels: • ~ Service in-hours HOURS_IN: ~ Service out-of-hours HOURS_OUT: Parameters:Host Definition Provided and Release LU Used Business Hours Used The Transaction environments and labels: ~ Host up and service in-hours HOST_UP_HOURS_IN: ~ Host down and service in-hours HOST_DOWN_HOURS_IN: ~ Host up and service out-of-hours HOST_UP_HOURS_OUT: ~ Host down and service out-of-hours HOST_DOWN_HOURS_OUT: Note: Administer all of your parameters before you begin defining the Transaction component for the application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 212 7 Defining the Transaction Overview This chapter provides application developers with information about how to define each standard Script Builder action step in the development of the transaction for an application. This chapter includes information about defining the Transaction component of Intuity CONVERSANT Script Builder. Whether a caller is speaking with an agent or interacting with a computer, the main part of the caller interaction is the step-by-step sequence of instructions the agent or computer follows. The instructions dictate how the agent or computer should serve the caller—for example, what to say, how to respond to requests, when to retrieve information from a host computer, etc. The Transaction component of Script Builder provides the sequence of instructions, called action steps, for the system to follow. You specify the action steps for the transaction in the order they are to be executed in the Define Transaction screen. For an example, see the Define Transaction screen that includes part of the transaction for the River Bank application (Figure 60 on page 215). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 213 7 Defining the Transaction Overview Some action steps are grouped into a process that is identified by a label, such as HOURS_OUT. The transaction usually includes comments to explain the transaction to a fellow developer, such as #Greet caller. In addition to selecting and listing the action steps in the transaction, you must define each action step so the system knows how to provide service to the caller. Most of the information in this chapter describes the screens and procedures you will use to define each standard action step. References are made to Chapter 8, Using Optional Features, for defining action steps for optional features. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 214 7 Defining the Transaction Figure 60. Overview Define Transaction Screen for the River Bank Application Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 215 7 Defining the Transaction Defining the Transaction Defining the Transaction To define the transaction for your application, use the Transaction component of Script Builder. Defining the transaction includes: • Accessing the Define Transaction screen • Selecting and arranging action steps in your transaction • Defining each action step, as required for your application You need to select and arrange the action steps to define the transaction. Then, you need to specify how each action step should perform in the transaction (exactly what to say when speaking to the caller, exactly what information to look up in the database, etc). This second process is called defining the action step. You can define a transaction using any of the following methods: • Select and arrange all the action steps in the transaction, then go back and define each of the action steps. Note: This method is recommended, especially for developers who are new to programming or new to Script Builder. • Define each action step before selecting the next. • Select a group of action steps, define the details of each action step in the group, and then go on to the next group of action steps. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 216 7 Defining the Transaction Defining the Transaction Accessing the Define Transaction Screen The Define Transaction screen allows you to add, arrange, and define the action steps you want to use in your transaction. To access the Define Transaction screen: 1 Starting from the Define Application menu (Figure 14 on page 40), select >Transaction The system displays the Define Transaction screen (example in Figure 60 on page 215). If you are starting a new application, this screen is empty except for the start label supplied by the system. Then select, add, copy, remove, and define action steps according to the procedures described in this chapter. Action Steps Action steps (Table 18 on page 230) are the basic building blocks that comprise the Transaction component of your application. Each action step accomplishes a specific task—action steps are available for communicating with the caller, the host and the database, processing data, directing the flow of the transaction, and providing comments about other action steps in the transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 217 7 Defining the Transaction Selecting and Arranging Action Steps Defining the Transaction You select action steps from a menu and arrange them in the Define Transaction screen in a sequence appropriate to the application. See Figure 60 on page 215 for an example of the Define Transaction screen with action steps that were selected and arranged to provide the desired transaction. In general, a transaction flows from one action to the next. It is possible, however, for the transaction to branch in various directions. For example, a caller is asked to choose between looking up current interest rates or looking up account balances. As the designer, you want the transaction to branch to an appropriate series of action steps to comply with the caller’s request. Note: It is a good idea to make a flowchart or other diagram of your transaction before selecting the action steps. The diagram will help you identify which groups of action steps need to be included in each label, and the flow from one label to another one. A Prompt & Collect action step (Figure 61 on page 220) plays a menu to the caller and gets a response. One response causes the transaction to branch to the label “Give_Interest_Rates” while another response makes it branch to the label “Give_Acct_Balances.” Grouping Action Steps As the list of action steps develops, some action steps will form groupings, where all the actions in a group accomplish a single purpose. For example, a series or group of action steps may focus on looking up current interest rates, Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 218 7 Defining the Transaction Defining the Transaction and another group may focus on looking up an account balance. It is often helpful during transaction development to arrange actions in groups. Then you can identify each group with a label. Using Comments A Comment action step provides background information or explains the purpose of an action or group of actions. The benefits of using comments become most apparent when you test or revise your application later. You can insert a Comment action step before each group (Figure 61 on page 220). Comments are shown with a pound sign (#) prefix. See Defining Comment on page 242 for more information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 219 7 Defining the Transaction Figure 61. Adding Action Steps Defining the Transaction River Bank Define Transaction Screen To add action steps to the Define Transaction screen: 1 Use the cursor movement keys to place the cursor where you want to add the new step. The new action step will be placed below the cursor. 2 Press F1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 220 7 Defining the Transaction Figure 62. Defining the Transaction Action Choices Menu 3 Select the action step to be inserted (highlight it, then press E N TER ). The system inserts the new action step in the transaction below the step currently highlighted. Note: You can use the H O M E and EN D keys to scroll through the menu of action choices. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 221 7 Defining the Transaction Note: Defining the Transaction The following action steps prompt you for additional information after adding them to your transaction: Comment, Goto Label, Label, and Transfer Call. For more information, see the section in this chapter for defining each of these action steps. 4 Repeat Steps 1 through 3 to add all the action steps that you want. Press F6 (Cancel) when you are finished adding action steps. 5 Press F8 (Chg-Keys), then F 3 (Save). The following message appears at the bottom of the screen: Transaction Definition saved. Copying Action Steps You can copy an action step or a range of consecutive action steps from one place in the transaction to another place in the transaction. The action step definitions are also copied. When you copy action steps, the following guidelines apply: • Because action step definitions are copied along with the action steps, you may want to change the definitions of some of the copied steps because they are used differently in their new location. • Certain restrictions apply when copying a range that includes or is part of an Evaluate action step. For more information, see Defining Evaluate on page 245. • You can copy a range of steps to a location that is within the range being copied. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 222 7 Defining the Transaction Defining the Transaction To copy an action step or a range of consecutive action steps: 1 Select the action step to be copied from the Define Transaction screen (Figure 60 on page 215) and press F 3 (Copy). The system prompts you to copy the action step or to indicate a range of action steps to be copied. 2 Do one of the following: ~ To copy a single action step, press F 3 (Copy) twice to indicate that it is both the beginning and ending step. ~ To copy a range of action steps, move the cursor up or down to the first action step in the range and press F3 (Copy). This action step becomes the beginning of the range. Move the cursor up or down as desired, then press F 3 (Copy) again; the highlighted action step becomes the end of the range. ~ To cancel the procedure, press ES C . The system prompts you to indicate where you want to copy the action step(s). 3 Move the cursor to where you want to place the copied action step(s) and press EN TER . The system inserts the action step(s) below the cursor. Note: Press ESC at any time prior to pressing EN TE R to abort the COPY operation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 223 7 Defining the Transaction Moving Action Steps Defining the Transaction You can move an action step or a range of consecutive action steps from one place in the transaction to another place in the transaction. The action step definitions are also moved. To move an action step or range of action steps: 1 Copy the action step(s) according to Copying Action Steps on page 222. 2 Remove the original action step(s) according to the procedure in Removing Action Steps on page 224. Removing Action Steps You can remove an action step or a range of consecutive action steps from the transaction. ! CAUTION: You cannot recover an action step definition that has been removed. As an alternative to removing action steps, you can use the Goto Label and the Label action steps to bypass a range of steps you have defined and do not need, but may want to use later. To remove an action step or a range of consecutive action steps: 1 Select the first action step to be removed from the Define Transaction screen (Figure 60 on page 215) and press F 2 (Remove). The system prompts you to remove the action step or to indicate a range of action steps to be removed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 224 7 Defining the Transaction Defining the Transaction 2 Do one of the following: ~ To remove a single action step, press F2 (Remove). ~ To remove a range of action steps, move the cursor up or down to the last action step in the range and press F2 (Remove). ~ To cancel the procedure and retain the action step, press ESC . The system removes from the transaction the action step(s) and definitions you specify. Displaying the Transaction The Define Transaction screen shows the action steps in either normal or expanded display. The normal display shows the names of the action steps, which is helpful while you are developing or debugging the transaction. Once you have defined the action steps, you can use the expanded display to show the details of the action steps. This is faster than accessing the individual screens used to define each action step. When you expand the display, the following guidelines apply: • Lines that are longer than 80 characters are truncated in the display. To see the entire text of a long line, press F5 (List). • For the Prompt & Collect action step, the expanded list shows only those details that have been changed from their default values. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 225 7 Defining the Transaction Defining the Transaction To use the expanded display: 1 From the Define Transaction screen (Figure 60 on page 215), press F7 (Show) to toggle between the normal and expanded display. The system changes from normal to expanded display, or from expanded to normal display. Searching in the Transaction You can search the transaction for a specific action step or string of characters. This procedure makes it easier to find a specific action step in a transaction that fills more than one screen. The Script Builder search function looks for regular expressions. This means that the search string should be in a valid regular expression format, otherwise the string will be rejected. Here are some guidelines for search strings: • The string can be up to 50 characters long. • Searches are case sensitive. For example, if you search for the string prompt, Script Builder does not match it against the string Prompt. • To search for a line containing the numeral 1, followed by any digit from 0 to 9 with a period (. ), enter 1[0-9]. when prompted for a search string. • To search for any line ending with the word “Screen,” enter Screen$ when prompted for a search string. • To search for line numbers beginning with a “1”, enter ^ *1 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 226 7 Defining the Transaction Note: Defining the Transaction Special characters have a specific meaning in the UnixWare operating system. If used in the search string, these characters may be rejected. Place a backslash (\) in front of these characters so they will be interpreted literally, such as \$. The special characters are: [ ] . (period) ^ $ - (hyphen) + { } ( ) For additional information on regular expressions and special characters, see the UnixWare System User’s Guide, 585-350-908. The results of a search are determined by the display status of the transaction. In the normal display, you can search only for labels, action step names, and comments. In the expanded display, you can search for details in the definition displayed for each action step. To search for a string in the transaction: 1 Press F5 (Search) from any place in the Define Transaction screen (Figure 60 on page 215). The system displays the Specify the Search String window (Figure 63 on page 228). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 227 7 Defining the Transaction Figure 63. Defining the Transaction Specify the Search String Window 2 Type the character string that you want to find. 3 Press F3 (Close). The system displays the Define Transaction screen (Figure 60 on page 215) again. 4 Press + to search downward through the transaction, or press - to search upward through the transaction. The system highlights the first occurrence of the specified string. Note: If Script Builder reaches the top or bottom of the transaction while searching, the system sounds a beep and informs you that the string was not found in the direction specified. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 228 7 Defining the Transaction Defining Action Steps Defining Action Steps Script Builder provides screens for you to define each action step. You define an action step by providing further information necessary to accomplish a specific function in your application. For example, you can identify speech phrases to be recorded, the name of a database table to be read, or where to transfer a call. Defining each action step can range from simple (for example, Answer Phone needs no definition) to fairly complex (for example, Prompt & Collect requires a prompting message, a description of valid caller input, and a checklist of decisions to be made based on caller input, what to do in case the caller makes a mistake, etc). Complex action steps have more than one screen, with each screen containing several fields. Table 18 on page 230 summarizes the standard action steps available with Script Builder. Each action step is discussed in detail throughout the rest of this chapter, beginning with Defining Announce on page 233. If you have any optional feature packages installed, other action steps are available through Script Builder. These optional action steps are discussed in Chapter 8, Using Optional Features. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 229 7 Defining the Transaction Table 18. Defining Action Steps Script Builder Action Steps Action Step Description Announce Speaks a message to the caller. Answer Phone Answers the telephone. Comment Provides reference remarks in the transaction. Disconnect Places the telephone onhook. Evaluate Chooses to perform an action step, or group of steps, from a number of options, based on current conditions. (This is analogous to an If/Then/Else construct.) External Function Temporarily suspends the transaction to perform a function at system script level, for example substring. Get Host Screen Waits for a screen of information from the host computer. Goto Label Continues execution of the transaction at a different location (for example, Goto GET_CHECK_BAL). 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 230 7 Defining the Transaction Table 18. Defining Action Steps Script Builder Action Steps Action Step Description Label Establishes a location that is the target of a Goto Label action step. Several predefined labels are available that the system uses to determine where to begin execution of the transaction, based on the current state of the environment. Modify Table Allows the caller to modify information in the database tables. Prompt & Collect Speaks a prompting message to the caller, accepts a response from the caller, and takes action based on the caller input. Quit Terminates the transaction. Read Table Looks up information from a database. Send Host Screen Sends information or a signal to the host computer. Set Field Value Stores a value in one or more transaction fields. Transfer Call Transfers the caller to another telephone number, typically a customer service representative or an attendant. Background Plays prerecorded music or speech in the background. 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 231 7 Defining the Transaction Table 18. Defining Action Steps Script Builder Action Steps Action Step Description Call Bridge Places an outbound call to a user-defined telephone number and maintains the connection while the caller interacts with the person on the other channel. When the third party hangs up, Call Bridge continues with the next action step. Execute Terminates the current application on the channel without hanging up the call and then starts another application on the same channel. Make Call Places an outbound call to a user-defined telephone number. When the call is connected, Make Call continues with the next action step. Msg Code Records the caller’s speech and stores the message in the system. Msg Delete Deletes a message that has already been stored in the system. Type Ahead Allows a caller to enter touch-tone digits in advance of prompts. The script then advances the caller to the appropriate point in the script. 3 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 232 7 Defining the Transaction Defining Announce Help for Action Steps While you are using the define screen for an action step, specific help for the action step is available by pressing F1 (Help). If this function key is not displayed, press F 8 (Chg-Keys). The system will include the help function in the alternate keys. Defining Announce Use the Announce action step to speak a message to the caller. The system can play 1 to 15 phrases, field values, and/or lines of text in succession in a single Announce action step. Note that you can use text only if the optional Text-to-Speech (TTS) feature is installed. Speak with Interrupt? It is often desirable to allow a caller (especially one who is familiar with the transaction) to speed up the transaction by cutting off the speech being played. You specify this feature in the Speak with interrupt? field, which is the first one in the Define Announce screen (Figure 64 on page 239). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 233 7 Defining the Transaction Defining Announce If a message is played with interrupt enabled, it plays normally unless the caller gives a response, sending an input to the system. As soon as caller input is detected, talk (speech) is inhibited, and the remainder of the message is bypassed. Note that once speech has been inhibited, it remains inhibited in following action steps until the inhibition is removed. This means that if a message is to be played in some action step, if that message allows interrupt and talk is presently inhibited because of a prior action step, that message will also be bypassed. Make sure your callers will hear all messages you want them to hear. The following events remove speech inhibition: • A message is played that does not allow interrupt. • A Prompt & Collect action step occurs. • A Get Host Screen action step occurs. • A Read Table action step occurs. • A Send Host Screen action step occurs. • A Transfer Call action step occurs. If you want to use two sequential Announce action steps, with speech interrupt enabled on both, but you want the caller to hear the beginning of the second message, insert an empty (null) Announce action step between the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 234 7 Defining the Transaction Defining Announce other two, and disable interrupt (enter n) in the empty message. This removes speech inhibition without playing a message to the caller. Then the system plays the contents of your second message, with interrupt enabled. Type The Announce action step can speak (play) a phrase, field value, or text (if TTS is available). Field Name/Phrase Tag/Text String You can specify an existing phrase or field, or one that you plan to create. See Using Text-to-Speech on page 391 in Chapter 8, Using Optional Features, for information about text strings for TTS. Note: The Announce action step can reference a field before the field value is set. This is likely to be a null or zero value. The system does not generate an error message, and the application attempts to play the field as specified. The value of the field is determined when the completed application is called. If the field is null, there is no voice output for that field when the message is played (for example, when a database field is used before the necessary Read Table action step, or when a host field is used before the necessary Get Host Screen action step). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 235 7 Defining the Transaction Defining Announce Field Format You can specify the format for the system to use when speaking a field value. Note that phrases are played as recorded, so a format does not apply. The format determines the speech inflection and the interpretation of data, such as numbers used in money, dates, and times. See Formats for Spoken Output on page 53 in Chapter 3, Data Management, for information about spoken field formats. See Using Text-to-Speech on page 391 in Chapter 8, Using Optional Features, for information about using TTS formats to speak a field value. Note: Using the NX Field Format The spoken field formats available are determined by the optional Enhanced Basic Speech language specified in the Shared Speech Pools window. For some applications, you may wish to specify NX as the field format in the Define Announce screen. If NX is specified in the Field Format field, the system speaks the phrase with the internal phrase number defined in the Field Name/Phrase Tag/Text String field. Use of the NX format is particularly appropriate for when: • The phrase does not have a tag name. For example, if an application records phrases spoken by callers, the system can assign arbitrary unique phrase numbers to these phrases as they are recorded. The application can then use the NX format to speak Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 236 7 Defining the Transaction Defining Announce the phrase back to the caller, and/or save these numbers in a database to be spoken later in a different call. • The phrase to be spoken corresponds to a character string from a host. For example, if the names of companies listed on the stock exchange are to be spoken, and the host returns their stock symbol, you could provide a database or a custom DIP that would map the symbols (for example, “LT”) to a phrase number that contains the recording of that company name. Once the phrase number is available in a field, the phrase is spoken using the NX format. Using Announce versus Prompt & Collect The Announce action step has the single purpose of playing a message to provide information to the caller. The Prompt & Collect action step plays messages to the caller requesting a response, then the response is collected. You cannot use the Announce action step for playing messages and collecting input from a caller. If you need to collect input, see Defining Prompt & Collect on page 273. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 237 7 Defining the Transaction Defining Announce Defining the Announce Action Step To define the Announce action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Announce The system inserts the Announce action step in the transaction. 3 Press F6 (Cancel). 4 Highlight the Announce action step. 5 Press F4 (Define). The system displays the Define Announce screen (example in Figure 64 on page 239). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 238 7 Defining the Transaction Figure 64. Defining Announce Define Announce Screen 6 In the Speak with Interrupt? field, enter y or n, or press F 2 (Choices) and select from the menu to indicate whether you want to allow interrupt. 7 In the Type field, enter p, f, t (for TTS only), or press F2 (Choices) and select from the menu to indicate the speech type. 8 In the Field Name/Phrase Tag/Text String field, specify a phrase or field, or enter the text string for TTS. Press F 2 (Choices) for a menu of phrases and fields already used. You can change, remove, and amend message contents. ~ To change the details of a line, move to the appropriate line and make the desired changes. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 239 7 Defining the Transaction Note: Defining Answer Phone If you begin a line with a space, you will be able to edit it later without retyping the entire line. If you begin a line with any other character, you must retype the entire line to make any changes. ~ To remove a phrase or field entry from an Announce action step, delete all data from the line where the phrase or field is entered and press F 3 (Close). When you reopen the action step, the system will move up lines below the deleted line to close the gap. ~ To add a line above existing lines, you must retype the data on each of the existing lines, one line lower, to make room for the new line. 9 In the Field Format field, enter a format for field or TTS, or press F2 (Choices) for a menu. 10 Repeat Steps 7 through 9 for each line in the announce message. 11 Press F3 (Close) to save your changes and return to the Define Transaction screen. Defining Answer Phone The Answer Phone action step answers the telephone. It must be included in the transaction before the first action step that requires interaction with a caller, such as Announce or Prompt & Collect. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 240 7 Defining the Transaction Defining Answer Phone If the transaction includes parameters, such as Business Hours or Holidays, the system transfers control directly to the appropriate label in the transaction, depending on the date and time of the call. Therefore, you must include the Answer Phone action step within each label in the transaction where it is needed (for example, HOST_UP, HOST_DOWN, HOURS_IN, HOURS_OUT, etc). To add the Answer Phone action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Answer Phone The system inserts the Answer Phone action step in the transaction. 3 Press F6 (Cancel). The Answer Phone action step requires no definition. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 241 7 Defining the Transaction Defining Comment Defining Comment The Comment action step is useful for organizing the transaction. Often a sequence of action steps accomplishes a subtask of the overall transaction. It can be helpful to use a few comments to describe the function of the sequence as a group, both for future reference when you return to the application, and when a different designer reviews or wants to use part of the application. You define a Comment action step when you add it to the transaction. Note: Do not embed Comments between /* and */ characters, as you would for some computer languages. The following guidelines apply to the Comment action step: • Maximum comment length is 50 characters. • A comment may contain any of the printable ASCII characters. • A comment may be blank, that is, have a length of zero characters. You can use a blank line to separate a sequence of action steps to indicate they work as a group. To enter a blank line, press F3 (Close) without adding any text to the Add Comments window. • The system gives each comment (except the blank comment) a pound sign (#) character prefix to identify it as being different from the other action steps. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 242 7 Defining the Transaction Defining Comment To add a Comment action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Comment The system displays the Add Comments window (Figure 65 on page 243). Figure 65. Add Comments Window 3 Enter the comment text, or leave it blank to produce a blank line in the transaction. Note that you can later change comment text by highlighting the comment line then pressing F4 (Define). 4 Press F3 (Close). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 243 7 Defining the Transaction Defining Disconnect The system inserts the comment in the transaction, and displays the Add Comments window (Figure 65 on page 243) again. This window remains open so you can enter a multi-line comment. 5 Press F6 (Cancel) when you are finished entering your comments. Once inserted in the transaction, each comment line is an independent action step and can be copied or removed just like any other action step. Defining Disconnect The Disconnect action step disconnects the system from the caller. Note: The Disconnect action step does not terminate execution of the transaction. It is possible to specify action steps to perform system activities that do not require interaction with the caller, such as assigning field values to be passed to the Call Data Handler. The transaction terminates when it reaches a Quit action step or the end of the transaction. During the time that the transaction continues running after the Disconnect action step, the system will respond to a new caller on the same channel with a ringing, but will not answer until the previous transaction terminates. To add the Disconnect action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 244 7 Defining the Transaction Defining Evaluate The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Disconnect The system inserts the Disconnect action step in the transaction. 3 Press F6 (Cancel). The Disconnect action step requires no definition. Defining Evaluate This section discusses when to use the Evaluate action step and how to define it. What the Evaluate Action Step Does The general structure of the Evaluate action step includes a series of conditions that are evaluated in order. If the first condition is true, the script performs a function. If the condition is false, the script does not perform the function. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 245 7 Defining the Transaction Note: Defining Evaluate If you are familiar with programming, the Evaluate action step is similar to an If-Then-Else statement. Use the Evaluate action step to test the relationship between two or more operands. The relationship can be single or complex. Figure 66 on page 246 shows a simple relationship. The If statement is used to specify an action to be executed only if the specified condition is true. For example, the script shown in Figure 66 on page 246 goes to the Label Deposit if the account balance is less than 100. Figure 66. Simple Evaluate Statement 6.Evaluate If account_balance < 100 7. Goto Deposit End Evaluate Figure 67 on page 247 shows a more complex example. If the If condition is false, an Else If statement follows and is used to specify an action to be executed if the specified condition is true. For example, the script shown in Figure 67 on page 247 goes to the Label Make_Payment if the account balance is greater than 150. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 246 7 Defining the Transaction Figure 67. Defining Evaluate Complex Evaluate Statement 6.Evaluate If account_balance < 100 7. Goto Deposit Else if account_balance > 150 8. Goto Make_Payment End Evaluate If both the If and Else If statements are false, then an Else statement may follow and is used to specify an action to be executed (Figure 68 on page 247). Figure 68. More Complex Evaluate Statement 6.Evaluate If account_balance < 100 7. Goto Deposit Else if account_balance > 150 8. Goto Make_Payment Else 9. Prompt & Collect End Evaluate The first true condition causes action steps under that condition to be performed. Upon completion of the series of action steps, program flow continues with the first action step following the Evaluate action step (unless Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 247 7 Defining the Transaction Defining Evaluate an action step in the group transfers control elsewhere). The end of the structure is indicated by an (unnumbered) End Evaluate (Figure 68 on page 247). Each If and Else If clause specifies a condition that must be true in order to perform the action steps that follow it. The condition is a comparison of two expressions. For example, “A = B” is a condition that compares A and B. If they are equal the condition is true; otherwise, the condition is false. “A” is the first expression, “B” is the second expression, and “=” is the relation between the two expressions. A more complex example of a condition is “A+B < C-7” where “A+B” is the first expression, and “C-7” is the second expression. If the sum of A and B is less than the difference between C and 7, the condition is true; otherwise the condition is false. In this case, the first expression contains two operands, “A” and “B,” and an operator, “+.” The second expression contains two operands, “C” and “7,” and an operator, “-.” The “<“ is the relation between the two expressions. Only the action steps under one clause in the structure are performed. If more than one clause happens to have true conditions, the first one in the series is performed. If no clause has true conditions, the action steps found under the optional Else clause are performed. If there is no Else clause, then no action is taken under Evaluate, and control transfers to the first action step following Evaluate. Only one Else clause can exist, and it must be the last clause in the Evaluate structure, before the End Evaluate line. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 248 7 Defining the Transaction Defining Evaluate Defining the Evaluate Action Step The purpose of defining the Evaluate action step is to define the Evaluate structure only; that is, to specify the conditions for the If, Else if, and Else clauses. You add and define the action steps to be performed under each clause after you define the Evaluate action step. Note: Action steps and clauses within an Evaluate action step are indented, which helps to clarify that they are contained within the overall Evaluate action step. The transaction display truncates lines wider than the display screen, although the lines themselves are not truncated. To view more of the transaction definition, press F 7 (Show). Note: You can nest Evaluate action steps. The structure for the nested Evaluate is then indented further and contained entirely within a clause of the first Evaluate. You can use six levels of nesting. Note: Do not copy anything into an undefined Evaluate action step and do not copy an existing Evaluate action step into an undefined Evaluate action step. Unpredictable results can occur. To add and define the Evaluate action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 249 7 Defining the Transaction Defining Evaluate 2 Select >Evaluate The system inserts the Evaluate action step in the transaction. When the Evaluate action step is first added, it appears as: Evaluate End Evaluate You establish the relationships to be compared when you define the Evaluate action step. 3 Highlight the Evaluate action step. 4 Press F4 (Define). The system displays the Define Evaluation window. Figure 69 on page 251 shows the Evaluate action defined for the statement in Figure 66 on page 246. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 250 7 Defining the Transaction Figure 69. Defining Evaluate Define Evaluation Window Each clause is defined on its own page, and the If clause is always first to be defined. 5 Fill in the fields in the window. An operand can be a field or a constant. An operator can be one of the four basic arithmetic functions: “+,” “-,” “*,” or “/.” An expression can be a single operand, or two operands with an operator. In the latter case, the arithmetic function in the expression is performed before the comparison is made between the two expressions. A relationship can be any of the standard comparisons, as described in Data Comparisons on page 72 of Chapter 3, Data Management. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 251 7 Defining the Transaction Defining Evaluate 6 Press F5 (Elseif) to add an Else If page after the current page. 7 Press F6 (Else) to add an optional Else page. The single Else clause at the end of the Evaluate structure provides a way to specify actions to be performed if none of the other clauses is true. That is, the Else condition is determined by the previous clauses; therefore the Else clause form is blank. 8 To display the previous page, press F 3 (Prevpage). To display the next page, press F4 (Nextpage). ! CAUTION: In the following Step 9, if you press F 2 (Remvpage), the system removes all action steps structured to the removed Evaluate statement. 9 To remove the current page, press F2 (Remvpage). The first page of the Define Evaluation screen cannot be removed. 10 Press F3 (Close) to complete the definition. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 252 7 Defining the Transaction Defining Evaluate Nesting Evaluate Statements In order to successfully create nested Evaluate statements within an application, you must define the outer statement first. For example, you start with the following transaction and make sure the Evaluate statement is defined: start: 1. Answer Phone 2. Announce 3. Evaluate If $MATCH_FOUND End Evaluate 4. Quit = 12 Then, place the cursor on line #3 and add another evaluate statement. The transaction looks like the following: start: 1. Answer Phone 2. Announce 3. Evaluate If $MATCH_FOUND 4. Evaluate End Evaluate End Evaluate 5. Quit = 12 Now you have a nested evaluate statement. If you want to next another evaluate statement, then you need to define the second evaluate statement Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 253 7 Defining the Transaction Defining Evaluate (line #4), before you add another evaluate statement. If line #4 evaluate statement is not define and you add another evaluate statement, then it looks like the following: start: 1. Answer Phone 2. Announce 3. Evaluate If $MATCH_FOUND 4. Evaluate End Evaluate 5. Evaluate End Evaluate End Evaluate 6. Quit = 12 Note that the third evaluate is not nested in the second evaluate. If line #4 evaluate is defined and you put the cursor on line #4 and add another evaluate statement, then it should be a three-level nested evaluate statement like the following: start: 1. Answer Phone 2. Announce 3. Evaluate If $MATCH_FOUND = 12 4. Evaluate If $CI_VALUE < 0 5. Evaluate End Evaluate Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 254 7 Defining the Transaction Defining External Function End Evaluate End Evaluate 6. Quit Defining External Function The External Function action step provides a way to perform an activity outside the domain of Script Builder, but which can be done using the system transaction assembler script (TAS) language. The External Function action step is the point at which the transaction is transferred to external control, and the point to which control returns with a value from the external function, if requested. You can use several External Function action steps in a single transaction. The system includes predefined external functions. For example, you can use the predefined substring external function to obtain an area code from a telephone number, the last four digits from a social security number, or part of a postal zipcode. You can also use the TAS language to create a new external function. You can specify as many as five fields (arguments) to pass values from the transaction to the function. Very often the first argument is the value the transaction will use when control is returned to it. You can use an optional sixth field to receive a return code from the function. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 255 7 Defining the Transaction Defining External Function As with other action steps, the system provides function-specific help while you are using the define screen for the action step. For the Define External Function screen, two types of help are available: • General Help provides general information about external functions • Function Specific Help provides information about a specific external function. Function-specific help is available after you specify a function name in the Define External Function screen. Note: You must provide the function-specific help for new external functions that you create. See Using External Functions on page 710 in Chapter 11, Using Advanced Features, for more information about using and defining external functions, creating new external functions, and writing help for your new external functions. To define the External Function action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 256 7 Defining the Transaction Defining External Function 2 Select >External Function 3 Press F6 (Cancel). 4 Press F4 (Define). The system displays the Define External Function screen (Figure 70 on page 257). Figure 70. Define External Function Screen 5 In the Function Name field, press F2 (Choices) for a menu of available external functions. 6 Enter field names or constants in the Argument 1 through Argument 5 fields as required by the external function and your application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 257 7 Defining the Transaction Defining Get Host Screen 7 Enter a field name in Return Code Is In Field if required for your application. This field will be type num unless specified otherwise. 8 Press F3 (Close) to complete the definition. Defining Get Host Screen Get Host Screen provides a structured list of the possible situations (cases) that can occur when a screen is expected from the host computer. One case is used for each possible screen that could be returned from the host. Typically, two additional cases are specified, one for host timeout and the other for arrival of an unexpected screen. Typically, a Get Host Screen action step should follow every Send Host Screen in the transaction. See Defining Send Host Screen on page 312. The definition of Get Host Screen specifies only the structure of the action. After definition, you fill in the action steps to be performed under each case. Also, only the action steps under one case are performed. After that, control passes to the first action step following the end of the structure, unless an action under the performed case has already transferred control elsewhere. The end of the structure is marked by an unnumbered End Get Host Screen line. Script Builder allows each Get Host Screen action to accept up to 40 screen cases. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 258 7 Defining the Transaction Defining Get Host Screen Figure 71 on page 259 shows an example of a Get Host Screen action step in a transaction. In this example, the transaction expects the ordernum screen to arrive, but the HOST_TIMEOUT and UNRECOGNIZED_SCREEN cases are also included. Note: HOST_TIMEOUT (no response received) and UNRECOGNIZED_SCREEN (unexpected screen received) are not actual screens but are available as cases so that you can specify what the transaction will do in these situations. Figure 71. Get Host Screen Example The system waits the amount of time specified in the Parameters component before determining that a case of HOST_TIMEOUT or UNRECOGNIZED_SCREEN exists. Because intermediate screens may arrive prior to the screen expected, the unrecognized screen case is not Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 259 7 Defining the Transaction Defining Get Host Screen invoked until at least one (unexpected) screen has been received and the time specified in UNRECOGNIZED_SCREEN to wait for the next screen has elapsed. ! CAUTION: Use both the HOST_TIMEOUT and UNRECOGNIZED_SCREEN cases in every Get Host Screen action step. If one of these cases occurs during a caller transaction, but the case is not defined, the system will terminate the call. To define the Get Host Screen action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Get Host Screen 3 Press F6 (Cancel). 4 Press F4 (Define). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 260 7 Defining the Transaction Defining Get Host Screen The system displays the Define Get Host Screen (Figure 72 on page 261). Figure 72. Define Get Host Screen 5 Type the name of the desired screen, or press F2 (Choices) for a menu of known screens. See Chapter 4, Defining the Host Interface, for more information about defining host screens. Note: If you are sharing screens with another application, at least one of the shared screens needs to be included in the Get Host Screen. Otherwise, the other application does not know which logical unit (LU) to come up on. See Chapter 6, Defining Parameters, for more information about LUs. 6 Press F3 (Close) to complete the definition, or press F1 (Addpage) to create an additional case. 7 Press F3 (Prevpage) or F4 (Nextpage) as desired to scroll through the cases in the structure. 8 To remove an existing case from the structure, press F 2 (Remvpage). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 261 7 Defining the Transaction Defining Get Host Screen ! CAUTION: If you press F 2 (Remvpage), the system removes all action steps structured to the removed Get Host Screen case. 9 Press F5 (Options) if you want to release a logical unit (LU) to be used on another call, as soon as the Get Host Screen action step is completed. The system displays the Host Options window (Figure 73 on page 262). The default value is no. Enter y or press F 2 (Choices) for a menu. See Chapter 6, Defining Parameters, for more information about LUs. Figure 73. Host Options Window Get Host Screen Error Messages If a problem arises with a Get Host Screen or Send Host Screen action and the host computer, the failure can either be a case of an UNRECOGNIZED_SCREEN or HOST_TIMEOUT. When either case occurs, a $HOST_ERROR field is established to help identify the trouble spot. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 262 7 Defining the Transaction Defining Get Host Screen Use an Evaluate action step in the transaction to check the codes in the $HOST_ERROR field. The following is an example of how the action steps should be set up in the transaction: Get Host Screen For Screen Name: HOST_TIMEOUT Evaluate If $HOST_ERROR = “ERR_SSCP" Send Host Screen Send Screen Name: Use Aid Key: PF3 Elseif $HOST_ERROR = “ERR_UNOWNED" Send Host Screen Send Screen Name: Use Aid Key: PF3 Else End Evaluate For Screen Name: UNRECOGNIZED_SCREEN Evaluate If $HOST_ERROR = ERR_HOSTDOWN" Announce End Evaluate For Screen Name: normal screens End Get Host Screen The following is a list of Get Host Screen error messages with their meanings: $HOST_ERROR (if $HOST_SCREEN=HOST_TIMEOUT) • #define ERR_TIMEOUT The host did not respond within the timeout period specified in the Parameters menu. See Chapter 6, Defining Parameters, for more information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 263 7 Defining the Transaction • Defining Get Host Screen #define ERR_DSR The physical link is down. • #define ERR_UNOWNED The SNA session is unowned; that is, the current session is not an LU session or an LU sscp session. • #define ERR_LULU The LU is in an LU session with the host. • #define ERR_SSCP The LU is in an LU sscp session (connection to VTAM). • #define ERR_BOARD The serial I/O circuit card returned a card error. • #define ERR_NO_LU No LU is available to send the screen to the host. $HOST_ERROR (if $HOST_SCREEN=UNRECOGNIZED_SCREEN) • #define ERR_UNRECOGNIZED An unrecognized screen was received from the host. • #define ERR_WRONG_SCREEN Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 264 7 Defining the Transaction Defining Goto Label The screen specified in the screen action is not the screen currently on the LU. • #define ERR_PROTECTED The Send Host Screen action specified that data be written into a protected field on the screen. • #define ERR_IN_INHIB Input is inhibited on the LU; that is, the keyboard is locked. • #define ERR_HOSTDOWN The application is in the host down state. This occurs when all LU(s) are running recovery sequences. • #define ERR_FAILURE The Send/Get failed. Defining Goto Label The Goto Label action step and the Label action step work together. The Goto Label action step is one way to transfer control (execution) from one location in the transaction to another. Insert the Goto Label action step in the transaction where the control is to be moved from. Specify the Label action step where the control is to be moved to. See Defining Evaluate on page 245 for examples of the Goto Label action step in a transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 265 7 Defining the Transaction Note: Defining Goto Label You can specify a label that you have not yet created, but it is a good idea to use a flowchart so that you do not forget some labels. You should enter labels in the transaction so that you can group action steps under each label. If you specify a Goto Label for a Label that you do not create, the system will discover the error when you verify the application. You must correct the error before you can install the application. To define the Goto Label action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Goto Label The system displays the Add Goto Label window (Figure 74 on page 267). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 266 7 Defining the Transaction Figure 74. Defining Label Add Goto Label Window 3 Specify the label to which execution should be transferred by entering the name of the desired label, or press F 2 (Choices) to select from a menu. Note: For an existing Goto Label action step, you can change the specified label by highlighting the label line, then pressing F 4 (Define) to display the Add Goto Label window. Specify the new label as described in this Step 3. 4 Press F3 (Close) to complete the definition. Defining Label The Label action step and the Goto Label action step work together. Use the Label action step to identify a group of action steps that accomplish a specific task in your application. Then you can use a Goto Label action step to move control to a label. A label also receives control of the transaction when the progress of the transaction arrives at the label through the normal step-bystep sequence. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 267 7 Defining the Transaction Defining Label Follow these guidelines for each label name: • The name must be 1 to 20 characters in length. • Legal characters are letters (A–Z and a–z), numbers (0–9), and underscore (_). • The name must begin with an alphabetic character. • Script Builder automatically adds a colon (:) to the end of each label to identify it as being different from the other action steps. The colon does not count toward the length limit. To define the Label action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Label The system displays the Add Label window (Figure 75 on page 269). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 268 7 Defining the Transaction Figure 75. Defining Modify Table Add Label Window 3 Enter the name of the desired label, or press F 2 (Choices) to select from a menu of label names. Note: For an existing Label action step, you can change the specified label by highlighting the label line, then pressing F4 (Define) to display the Add Label window. Specify the new label as described in this Step 3. 4 Press F3 (Close) to complete the definition. Defining Modify Table The Modify Table action step allows a caller to make changes to information in database table fields. Use it to allow customers to transfer data from one account to another without the help of a customer service representative. The Modify Table action step also allows an administrator to modify information in the database. In the River Bank application (see Appendix A, Sample Application) the administrator can change interest rate information by calling in through the system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 269 7 Defining the Transaction Defining Modify Table The Define Modify Table screen (Figure 76 on page 271) allows you to identify the name of the table to be modified and the specific operation to be performed. The operation choices are Add, Change, or Remove. ! CAUTION: You must include a Read Table action step before any Modify Table action step that will perform a Remove or Change operation. All records that exactly match the last record retrieved from a Read Table will be affected. The Modify Table action step will assign a value to each field you specify (up to 15), based on the value of the expression you define by selecting one or more operands and an operation (if you specify two operands). The system variable $RECORDS_CHANGED is set after a Modify Table action step. It contains the number of records changed by that action. The value will be a -1 in the case of system failure, a 0 if no records matched those specified, or a positive number if records were changed. See Chapter 5, Creating Database Tables, for more information about using the Modify Table action step. To define the Modify Table action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 270 7 Defining the Transaction Defining Modify Table 2 Select >Modify Table 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the Modify Table action step in the transaction. 5 Press F4 (Define). The system displays the Define Modify Table window (Figure 76 on page 271). Figure 76. Define Modify Table Window 6 Enter the name of the desired database, or press F2 (Choices) to select from a menu of database names. 7 Enter the name of the desired operation, or press F2 (Choices) to select from a menu, then press F3 (Cont). If you select Remove, the system returns to the Define Transaction screen (Figure 60 on page 215). If you select Add or Change, the system Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 271 7 Defining the Transaction Defining Modify Table displays the Define Modify Table – Update screen (Figure 77 on page 272). Figure 77. Define Modify Table-Update Screen 8 You can enter up to 15 field names in the Define Modify Table – Update screen. Press P gDn and Pg Up to display all 15 fields. Press F2 (Choices) with the cursor in the Field Name field for a list of all fields belonging to the current table. Any field that is not listed in Field Name in the update screen will receive null data for an Add operation or will be unaffected for a Change operation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 272 7 Defining the Transaction Defining Prompt & Collect 9 Press F2 (Choices) with the cursor in the 1st Operand/2nd Operand field to display all fields available to the application. 10 If you select a 2nd Operand, you must also select an Operator. The system will assign a value to the Field Name that is equal to the expression after the operation is performed. 11 Press F3 (Close) to complete the definition and return to the Define Transaction screen (Figure 60 on page 215). Defining Prompt & Collect The basic purpose of the Prompt & Collect action step is to prompt for, obtain, and process transaction input from the caller. This action step is divided into three functions, each with its own screen: 1 Prompt the caller for a response (input) the system needs for the transaction. This could be a selection from a menu of choices, or information from the customer such as an account number. You can specify whether the caller can or cannot interrupt the prompt message. 2 Specify the parameters of the caller input, such as the number of digits expected, the field in which the characters should be placed, etc. This is also the screen where you specify the recognition type for one of the optional speech recognition features. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 273 7 Defining the Transaction Defining Prompt & Collect 3 Process the input by comparing it to an evaluation checklist and respond as specified for each case. You can use the standard or the custom checklist. The confirm action, available in either checklist, allows you to play the caller input back and ask for confirmation that the system received the input correctly. Prompting the Caller for Input (Page 1, PROMPT) The PROMPT screen (Figure 78 on page 292) looks and works exactly like the Define Announce screen. The main difference is in the way they are used. You ask for input in a PROMPT screen, but you only send out (play) messages in a Define Announce screen. See Defining Announce on page 233 for discussions Using Announce versus Prompt & Collect on page 237 and Speak with Interrupt? on page 233. Note: See Prompt & Collect: Tips on page 301 for additional guidelines about using speak with interrupt. The PROMPT screen can play 1 to 15 phrases, field values, and/or lines of text in succession in a single action step. Note that you can use text only if the optional Text-to-Speech (TTS) feature is installed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 274 7 Defining the Transaction Defining Prompt & Collect Specifying Caller Input (Page 2, INPUT) The INPUT screen (Figure 79 on page 295) allows you to specify the input parameters. Default values are supplied for most of these. Table 19 on page 275 shows the valid inputs and default values for fields in the INPUT screen. Each of these parameters is discussed following this table. Table 19. Caller Input Fields Field Required Input Default Value Caller Input Field Name of a field $CI_VALUE No. of Tries Used Field Name of field $CI_TRIES_USED No. of Digits Input Field Name of field $CI_NO_DIGS_GOT Min Number of Digits Integer (1–64) 01 Max Number of Digits Integer (1–64) 64 TT Terminator Code Active Yes or no No TT Terminator Code Value One or two touch tones # TT Repeat Code Active Yes or no No TT Repeat Code Value One or two touch tones None TT Erase Code Active Yes or no No 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 275 7 Defining the Transaction Table 19. Defining Prompt & Collect Caller Input Fields Field Required Input Default Value TT Erase Code Value One or two touch tones None TT Cancel Code Active Yes or no No TT Cancel Code Value One or two touch tones None No. of Tries to Get Input Integer (1–9) 03 Initial Timeout Integer (3–60 seconds) 05 Interdigit Timeout Integer (3–60 seconds) 05 Recognizer None None Recognition_Type None None 2 of 2 Caller Input Field The Caller Input Field receives the input character string from the caller. The system field $CI_VALUE is the default. It is a char field of size 67. You can use any field of type char. Make sure the field size is large enough for the caller input string, or the system will not retain all of the caller input. Note: You should use the $CI_VALUE or another char field to receive caller input. You can use a field of a different type, but caller input is defined as type char, so the rules of data conversion would apply as described in Chapter 3, Data Management. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 276 7 Defining the Transaction Defining Prompt & Collect Number of Tries Used During caller input, the caller may enter invalid information. The No. Of Tries Used Field keeps count of the number of input attempts. The field is reset to zero (0) each time a Prompt & Collect action step is executed in the transaction. The system field $CI_TRIES_USED, of type num, is the default. You can substitute another num field. You can use a field of a different type, but the rules of data conversion would apply as described in Chapter 3, Data Management. You can specify the reprompt action on Page 3, CHECKLIST, of the Define Prompt and Collect screen to allow the caller to try again. Number of Digits Input The No. Of Digits Input Field keeps count of the number of characters currently in the caller input field. The variable $CI_NO_DIGS_GOT, of type num, is the default. You can substitute another num field. You can use a field of a different type, but the rules of data conversion would apply as described in Chapter 3, Data Management. Minimum Number of Digits Use the Min Number Of Digits field to specify the minimum number of characters required for the caller input string to be considered valid. Any minimum, from 1 to 64 characters, is permitted, if nothing is specified in the Recognition_Type field. The default is one character. If you select an invalid number, the system will set it to a valid number for the recognition type specified. Maximum Number of Digits Use the Max Number Of Digits field to specify the maximum number of characters required for the caller input string to be considered valid. Any maximum, from 1 to 64 characters, is permitted, if nothing is specified in the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 277 7 Defining the Transaction Defining Prompt & Collect Recognition_Type field. The default is 64 characters. If you select an invalid number, the system will set it to a valid number for the recognition type specified. Touch-Tone Terminator Code Activity Status Use the TT Terminator Code Active field to specify if you want the caller to use a touch-tone terminator code. A typical use for this is when you expect a variable length input, and it is desirable to avoid the timeout delay that would otherwise occur while the system waits for input. Selecting yes indicates it will be used, no (default) indicates it will not. Touch-Tone Terminator Code Value Use the TT Terminator Code Value field to specify the touch-tone character (or two-character sequence) to be used to signal the end of the caller input. When a terminator is used, the terminator string does not appear in the Caller Input Field. For example, if “#” is used as the terminator and the caller enters a “123#”, the input is treated as “123.” The default terminator is the pound symbol (#). You can substitute any touch-tone character or two-character sequence. Touch-Tone Repeat Code Activity Status Use the TT Repeat Code Active field to specify if you want the caller to use a touch-tone repeat code. This allows the caller to have the system repeat the prompt message. Selecting yes indicates it will be allowed, no (default) indicates it will not. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 278 7 Defining the Transaction Defining Prompt & Collect Touch-Tone Repeat Code Value Use the TT Repeat Code Value field to specify the touch-tone character (or two-character sequence) to be used by the caller to hear the input prompt again. There is no default. Touch-Tone Erase Code Activity Status Use the TT Erase Code Active field to specify if you want the caller to use a touch-tone erase code. When the caller uses an erase code, the system erases the last digit entered prior to the code. For example, if *# is used as an erase code and the caller enters a “125*#345”, the input is treated as “12345.” Selecting yes indicates it will be allowed, no (default) indicates it will not. Touch-Tone Erase Code Value Use the TT Erase Code Value field to specify the touch-tone character (or two-character sequence) to be used by the caller to erase the previous touchtone from the input string. There is no default. Touch-Tone Cancel Code Activity Status Use the TT Cancel Code Active field to specify if you want the caller to use a touch-tone cancel code. When the caller uses a cancel code, the system erases the caller input (including the cancel code) for the current prompt so the caller can enter the complete input again. Selecting yes indicates it will be allowed, no (default) indicates it will not. Touch-Tone Cancel Code Value Use the TT Cancel Code Value field to specify the touch-tone character (or two-character sequence) to be used by the caller to erase the entire input string. There is no default. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 279 7 Defining the Transaction Defining Prompt & Collect Number of Tries to Get Input Use the No. Of Tries To Get Input field to specify the maximum number of times the caller is allowed to attempt to enter valid input. The allowable range is from 1 to 9. The default is 3. Initial Timeout Use the Initial Timeout field to specify the maximum amount of time (in seconds) the system will wait for the caller to enter the first character of input. The allowable range is from 3 to 60. The default is 5 seconds. Do not use 0. Interdigit Timeout Use the Interdigit Timeout to specify the maximum amount of time (in seconds) the system will wait for the caller to enter any character after entering the previous character. The allowable range is from 3 to 60. The default is 5. Note: Recognizer Where the length of the expected input is variable (for example, an account number from 5 to 7 characters), the interdigit timeout may indicate completion of valid input. For example, a 5-second silence after entering six characters indicates the caller is finished entering input. You can avoid this delay by using a touch-tone terminator code as described in Touch-Tone Cancel Code Value on page 279. Script Builder automatically displays in the Recognizer field the recognizers that are available on your system. You can use both Dial Pulse Recognition (DPR) and speech recognition (SR) during the same Prompt & Collect action step. SR applies to WholeWord speech recognition and FlexWord™ speech recognition, but only one can be active for each prompt. The active SR Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 280 7 Defining the Transaction Defining Prompt & Collect recognizer is determined by what you specify in the Recognition_Type field. See Chapter 8, Using Optional Features, for more information about including DPR, WholeWord speech recognition, and FlexWord speech recognition in your Prompt & Collect action step. Recognition Type Use the Recognition_Type field to specify which available DPR recognition type, and WholeWord recognition type or FlexWord wordlist you want the system to use for this Prompt & Collect action step. Analyzing Input from the Caller (Page 3, CHECKLIST) The CHECKLIST screen allows you specify how the transaction will respond, depending on whether the input was invalid, valid, or correct (custom checklist only). The checklist is a list or table of possible cases (situations). Specify the next action for the transaction to take when each case occurs (is evaluated as being true). Each checklist line includes: • Input case • Optional custom message to be played if the case occurs • Action to take next • Data to further specify the action (if needed) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 281 7 Defining the Transaction Defining Prompt & Collect Two different checklists are available: the standard and custom. The standard checklist is used by default. You can select the custom checklist, which allows you to specify additional cases, including correct input. You can specify the confirm action, available in either checklist, to play the caller input back and ask for confirmation that the system received the input correctly. Standard Checklist Use the standard checklist (Figure 80 on page 296) when you want to distinguish only between valid and invalid input. It also allows you to specify an action to take for each case in the list. Case The Case field specifies a situation that could be true for caller input. The standard checklist includes for the following input cases: • Input Ok – True when valid input is received: number of characters within range, timeout not expired, within allowed number of tries, etc. Note: Valid input is not necessarily correct input but rather the input that is within specified parameters. For example, a caller is asked to enter a five-digit account number. If the caller does not respond, or enters just four digits, then the response can easily be classified as invalid. But any five-digit number the caller enters is valid. The only practical way to verify if it is correct is to send it to the host computer to perform a database lookup and see if it is an existing account. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 282 7 Defining the Transaction Defining Prompt & Collect • Initial Timeout – True when no input was received from the caller within the allotted time. • Too Few Digits – True when an Interdigit Timeout occurs and an insufficient number of characters has been received. • No More Tries – True when either an Initial Timeout or Interdigit Timeout occurs, and the limit on the number of tries to receive valid caller input has been reached. Voice Response Use the Voice Response field to specify if you want to play a custom caserelated message to the caller (Figure 81 on page 297). For example, in the case of Initial Timeout, you could play a message saying “Still waiting for your input.” Action Use the Action field to specify the action to be taken when the case occurs. Note: Keep the caller in mind when selecting an Action for a Case. Some combinations would be confusing to a caller, even though Script Builder accepts them. For example, the case No More Tries could be followed by the action Reprompt. The system would ask the caller for input again, after the caller was unsuccessful at entering the input on a few tries already. A better choice for No More Tries is Transfer To. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 283 7 Defining the Transaction Defining Prompt & Collect The available actions are • Continue – Continues execution of the transaction with the next action step following the Prompt & Collect action step • Try Again – Tries to get valid caller input again (without playing the initial prompt); used when a custom message has been used as a replacement message for a prompt • Reprompt – Tries to get valid caller input again, after first playing the initial prompt (with a custom message, if specified, being played before the initial prompt) • Goto Label – Identical to the Goto Label action step Follow these guidelines for each Goto Label: ~ The name must be 1 to 20 characters in length. ~ Legal characters are letters (A–Z and a–z), numbers (0–9), and underscore (_). ~ The name must begin with an alphabetic character. ~ Script Builder automatically adds a colon (:) to the end of each label to identify it as being different from the other action steps. The colon does not count toward the length limit. See Defining Goto Label on page 265 for more information. • Quit – Identical to the Quit action step Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 284 7 Defining the Transaction Defining Prompt & Collect See Defining Quit on page 305 for more information. • Transfer To – Identical to the Transfer Call action step, except that the type of transfer within a Prompt & Collect action is always a blind transfer See Defining Transfer Call on page 318 for more information. Note: • See Prompt & Collect: Tips on page 301 for guidelines about using Quit following a Transfer To. Confirm – Repeats the caller input, then asks the caller to confirm that the input is correct See Specifying the Confirm Action on page 290 for more information. Action Data Use the Action Data field only to specify: Custom Checklist • A label for a Goto Label action • A telephone number for a Transfer To action • Caller input for a Confirm action Use the custom checklist (Figure 83 on page 299) when you want to distinguish between correct and incorrect caller input (in addition to between valid and invalid input). It also allows you to specify an action to take for each case in the list. This checklist has the same structure as the standard Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 285 7 Defining the Transaction Defining Prompt & Collect checklist. Follow the same guidelines for completing the custom checklist as you would for completing the standard checklist, as described in Standard Checklist on page 282. Using Default Cases The last four cases in the checklist include three of the same valid input cases found on the standard checklist (Initial Timeout, Too Few Digits, and No More Tries), plus a Not On List case for any valid input not otherwise specified elsewhere in the list on this screen. As in the standard checklist, each default Case has an Action that you can override. Creating Custom Cases You can specify up to 12 custom cases of correct input (in the lines above the four default cases). The system compares the input to each case and performs the action specified for the first true case, similar to an “If-ThenElse” statement. For example, your prompt could be: “For your checking account balance, say or enter 1. For your savings account balance, say or enter 2. To speak with a customer service representative, say or enter 0.” For this example, list “1,” “2,” and “0” as three custom checklist cases. For the digits 1 and 2, select Goto Label actions and branch off to the appropriate group of action steps to provide the information requested. For the digit 0, Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 286 7 Defining the Transaction Defining Prompt & Collect select a Transfer To action step and specify a telephone number for an agent. In many cases, you can describe a correct input but you cannot list all the correct values. For example, valid customer account numbers could be eight digits with the first digit always 4 and the last digit always 9, or a stock number might be six to nine digits in length and always begin with 76. You can use the pattern symbols (Table 20 on page 287) and special codes (Table on page 288) available in Script Builder to describe a correct input case without specifying a value. Because the cases are compared in the order listed, include the most specific pattern first and more general patterns later. Table 20. Custom Checklist Pattern Symbols Character Function 0, 1,... 9 These are standard digits. *, # These are special touch-tone keys, which are frequently used as touch-tone control characters (terminator, erase, repeat, or cancel codes). These are not included in the value in the Caller Input Field, but they are part of the caller input string, so you can include them in a correct input case pattern. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 287 7 Defining the Transaction Table 21. Defining Prompt & Collect Custom Checklist Special Codes Character* Function A, B, C, D These are extended digits. The touch-tone standard includes a 16-digit keypad with a fourth column. n This represents any one of the 10 standard digits. s This represents either one of the two special digits. e This represents any one of the four extended digits. t This represents any 1 of the 16 touch-tone digits. r This is the repeat character. This special pattern symbol means “match one or more repetitions of the previous pattern symbol.” q This is the quit character. This special pattern symbol means “stop comparing and accept any input string that has matched up to this point.” * If you use one of these characters or any other touch tones besides * and # as special codes, they will only have their special function and will not appear in the input. Therefore, checklist cases that include them will not be matched. The literal characters (0,..., 9, *, #, A,..., D) each match one instance of themselves. The group characters (n, s, e, t) each match one instance from their group. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 288 7 Defining the Transaction Defining Prompt & Collect The above example of an eight-digit account number beginning with 4 and ending with 9 would match the case “4nnnnnn9.” The two special pattern symbols “r” and “q” are useful when the input you want to match has a varying length (within a specified range). Use the “r” symbol when the input has a varying length portion that includes some repeated digits. Therefore, the symbol that precedes “r” in the pattern must be present one or more times. For example, the “5r2” in the Case field would match any of the following inputs: “52,” “555552,” “552,” etc. Use the “q” symbol when the first few digits of the input must follow a specified pattern, but the remainder of the input is more variable. For example, the Case “76q” means that if the first part of the input matches the pattern, the remainder of the input can be ignored and the pattern is matched. The “q” must be the last significant symbol in a pattern description. Script Builder will ignore any characters after the “q” in a pattern. You may use the special codes and pattern symbols together. For example, the “nr” in the Case field would match either of the following inputs if # is a control character: “1#,” “123#”. However, the input “12*45#” would be invalid for “nr” because of the asterisk. If you place the “tr#1q” in the Case field, the following inputs are valid: “124**#1”, 9#1, “##1”. However, the input “123” or “#1” are not valid. The first invalid case does not provide the pound sign (#) or termination digit of 1 and the second invalid case does not provide a touch tone digit as indicated by “t”. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 289 7 Defining the Transaction Specifying the Confirm Action Defining Prompt & Collect Using Page 3, CHECKLIST, of the Define Prompt and Collect screen (Figure 84 on page 300), you can direct the application to prompt callers for confirmation of input. This input can be either touch-tone, optional DPR, or Yes/No in an optional WholeWord speech recognition language. See Using Dial Pulse Recognition or Speech Recognition on page 401 in Chapter 8, Using Optional Features, for more information about using these optional features in a Prompt & Collect action step. Note: To use the Confirm action, the system must include a feature to play the caller input, such as Text-to-Speech or Enhanced Basic Speech. You can specify the Confirm action (Figure 84 on page 300) to take an optional single digit as an argument, in addition to Yes/No (which is default if you specify a WholeWord recognition type). In the Action Data field, specify the touch-tone or DPR digit argument you want callers to enter to indicate a confirmation. If you do not specify an argument (Action Data field is blank), the transaction treats the confirm as a “continue” when the caller enters any touch-tone, DPR, or speech input. The Confirm action also has an associated Voice Response field (Figure 85 on page 301). In this screen, you specify the field that contains the caller input as well as any phrase you want spoken after that. For example, you may specify that the system speak the caller input, then the phrase, “If this is correct, say yes or dial 1.” To open the Voice Response field, position the cursor on that field, then press F1 (Expand). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 290 7 Defining the Transaction Defining Prompt & Collect If the system receives an input that matches the argument, the transaction continues to the next action step. If the system receives an input that does not match the argument, the transaction prompts the caller again for the input. Note: You can select and define the Confirm action in the standard checklist or in the custom checklist. Defining the Prompt & Collect Action Step To define the Prompt & Collect action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Prompt & Collect 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the Prompt & Collect action step in the transaction. 5 Press F4 (Define). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 291 7 Defining the Transaction Defining Prompt & Collect The system displays Page 1, PROMPT, of the Define Prompt and Collect screen (Figure 78 on page 292). Figure 78. Define Prompt and Collect — PROMPT Screen 6 In the Speak with Interrupt? field, enter y or n, or press F 2 (Choices) and select from the menu to specify if you want to allow interrupt. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 292 7 Defining the Transaction Defining Prompt & Collect ! CAUTION: If the prompt message does not allow interrupt, you must remove (trim) all final (trailing) silence from the prompt message. If the message includes silence at the end, the caller may begin to enter input while the silence is being played. Any input entered during that time will be lost, and the caller will probably be reprompted and wonder why. 7 In the Type field, enter p (Phrase), f (Field), t (Text, for TTS only), or press F2 (Choices) and select from the menu to indicate the speech type. 8 In the Field Name/Phrase Tag/Text String field, specify a phrase or field, or enter the text string for TTS. Press F 2 (Choices) for a menu of phrases and fields already used. You can change, remove, and amend message contents. ~ To change the details of a line, move to the appropriate line and make the desired changes. Note: If you begin a line with a space, you will be able to edit it later without retyping the entire line. If you begin a line with any other character, you must retype the entire line to make any changes. ~ To remove a phrase or field entry from the PROMPT screen, delete all data from the line where the phrase or field is entered and press F3 (Close). When you reopen the action step, the system will move up lines below the deleted line to close the gap. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 293 7 Defining the Transaction Defining Prompt & Collect ~ To add a line above existing lines, you must retype the data on each of the existing lines, one line lower, to make room for the new line. 9 In the Field Format field, enter a format for field or TTS, or press F2 (Choices) for a menu. Note that phrases are played as recorded, so a format does not apply. The format determines the speech inflection and the interpretation of data, such as numbers used in money, dates, and times. See Formats for Spoken Output on page 53 in Chapter 3, Data Management, for information about spoken field formats. See Using Textto-Speech on page 391 in Chapter 8, Using Optional Features, for information about using TTS formats to speak a field value. Note: The field formats available are determined by the optional Enhanced Basic Speech language specified in the Shared Speech Pools window. 10 Repeat Steps 7 through 9 for each line in the prompt message. 11 When Page 1, PROMPT, is complete, do one of the following: ~ Press F3 (Close) to store your selections and return to the Define Transaction screen (Figure 60 on page 215), or ~ Press F8 (Chg-Keys), then press F4 (Nextpage). The system displays Page 2, INPUT, of the Define Prompt and Collect screen (Figure 79 on page 295). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 294 7 Defining the Transaction Figure 79. Defining Prompt & Collect Define Prompt and Collect — Sample INPUT Screen 12 Use the default values or specify your selections for Caller Input Field through the Interdigit Timeout field, using the guidelines discussed above. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 295 7 Defining the Transaction Defining Prompt & Collect 13 With the cursor in the Recognition_Type field, press F2 (Choices). Then, for each active recognizer, select the recognition type from those available. Available WholeWord recognition types and FlexWord wordlists are all be listed when you press F2 (Choices) for SR Recognition_Type. 14 When Page 2, INPUT, is complete, do one of the following: ~ Press F3 (Close) to store your selections and return to the Define Transaction screen (Figure 60 on page 215), or ~ Press F8 (Chg-Keys), then press F4 (Nextpage). The system displays Page 3, CHECKLIST, of the Define Prompt and Collect screen, with the standard checklist (Figure 80 on page 296) shown. Figure 80. Prompt & Collect, Page 3 Standard Checklist To use the standard checklist, continue with step 15. To use the custom checklist, skip to step 16. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 296 7 Defining the Transaction Defining Prompt & Collect 15 To use the standard checklist: a Keep the default value of yes in the Do you want to use the standard checklist? field. b For each selection in the Case field, enter your selected information in the Voice Response, Action, and Action Data fields, using the guidelines discussed above. Note: With the cursor in the Voice Response field, press F1 (Expand) to display the Define Voice Response for an Input Case screen (Figure 81 on page 297). Enter your selections in the Type, Field Name/Phrase Tag/Text String, and Field Format fields. You can also edit or remove lines in this screen. After entering your information, skip to step 17. Figure 81. Sample Define Voice Response For An Input Case Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 297 7 Defining the Transaction Defining Prompt & Collect 16 To use the custom checklist: a Change the value in the Do you want to use the standard checklist? field to no by entering N, or press F2 (Choices) to select from a menu. The system reminds you that the custom checklist will replace the standard checklist (Figure 82 on page 298). Figure 82. Custom Checklist Reminder b When you acknowledge the message, the system displays the custom checklist (Figure 83 on page 299). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 298 7 Defining the Transaction Figure 83. Defining Prompt & Collect Prompt & Collect, Page 3, Custom Checklist c Enter in the Case field any custom situations you want to define for this application. See the discussion above, Table 20 on page 287, and Table on page 288. d For each default situation in the Case field, and for ones you create, enter your selected information in the Voice Response, Action, and Action Data fields, using the guidelines discussed above. Note: Expand the Voice Response field and make entries as described in step 15. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 299 7 Defining the Transaction Defining Prompt & Collect 17 To specify the Confirm action: a Press F2 (Choices) with the cursor in the Action field, and select from the menu. Note that the Confirm action is available in both the standard and custom checklists. The system displays the selected Confirm action (example in Figure 84 on page 300). Figure 84. Sample Confirm Action with Action Data b Enter your selected information in the Voice Response and Action Data fields, using the guidelines discussed above. Note: Expand the Voice Response field and make entries as described in step 15. (example in Figure 85 on page 301). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 300 7 Defining the Transaction Figure 85. Defining Prompt & Collect Sample Expanded Voice Response Field for Confirm Action 18 When Page 3, CHECKLIST, is complete, press F3 (Close) to store your selections and return to the Define Transaction screen (Figure 60 on page 215). Prompt & Collect: Tips Transfer To and Quit The act of transferring a call does not terminate execution of a transaction. After performing a Transfer To action in a checklist, execution of the transaction continues with the first step following the Prompt & Collect action step. Therefore, you should add a Quit action step immediately following any Prompt & Collect action step that uses the Transfer To action. However, quitting immediately after transferring should not apply to all the input conditions (for example, Input Ok). For the input conditions that do not result Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 301 7 Defining the Transaction Defining Prompt & Collect in a Transfer To, you can avoid quitting immediately by branching to another Label in the transaction. The following is a sample Prompt & Collect action step in a transaction showing a way to quit immediately after doing a blind transfer for certain input conditions only. This sample also demonstrates how to avoid quitting for other input conditions. The sample application does a blind transfer when the caller times out or does not enter enough touch tones within the Prompt & Collect action step. If the caller enters valid input, the transaction goes to a Label to do further processing. However, if the user has no more tries available, the application quits. Note: The Transfer To action within the Prompt & Collect action step does not perform the same way as the Transfer Call action step. The Transfer To action is always a blind transfer. See Defining Transfer Call on page 318. start: 1. Set Field Value Field: phoneNumber = "7325" Field: BLIND_SUCCESS = "X" 2. Prompt & Collect Speak with interrupt Phrase: Enter acct. no Input Min Number of Digits:04 Max Number of Digits:04 TT Terminator Code Value: "#" Checklist Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 302 7 Defining the Transaction Defining Prompt & Collect Case: "Input Ok" Goto OKINPUT Case: "Initial Timeout" Transfer To phoneNumber Case: "Too Few Digits" Transfer To phoneNumber Case: "No More Tries" Goto DONE End Prompt & Collect #If we fall out of Prompt & Collect at this point #then a blind transfer has been done, and we #can check to see if it was successful 3. Evaluate If $TRANSFER_RESULT!= BLIND_SUCCESS #Error in the blind transfer; cleanup and abort 4. Goto DONE End Evaluate #At this point, blind transfer was successful so #quit the script DONE: 5. Quit #We get to this point if the Prompt&Collect was #successful and no blind transfer was done OKINPUT: #Process the input and then quit 6. Goto DONE Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 303 7 Defining the Transaction Defining Prompt & Collect Interrupt and Touch These rules are in addition to the basic interrupt rules described in Defining Tones Announce on page 233. • The caller is able to press any key the telephone touch-tone keypad at any time during a caller transaction, regardless of the active transaction step. Once the system answers the telephone, anytime the caller presses a key on the telephone keypad, the corresponding touch tone is sent. • Touch tones are detected as they are entered. This allows the system to process them during messages that allow interrupt. • The system processes touch tones received only during the input portion of a Prompt & Collect action step. Any touch tones previously received are fed into the input field, up to the maximum number of characters specified in the action step. If less than the maximum number of characters have been received, the system waits for the caller to enter additional touch tones (subject to the timeout constraints of the action step). • Any touch tones that are entered while interrupt is off will not be received. The caller should wait for the prompt to finish. • When the system processes a message that does not allow interrupt, touch tones previously received are removed from memory. This process is called flushing the buffer. • The system flushes the touch tone buffer when any of the following action steps occur: ~ Get Host Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 304 7 Defining the Transaction Defining Quit ~ Read Table ~ Send Host Screen ~ Transfer Call You can flush the buffer of touch tones without taking any other action. To do this, play a null message (no content) that does not allow interrupt. • Defining Quit When the script reaches a Quit action step, the transaction ends. The system disconnects the telephone, if it has not already been disconnected by a Disconnect action step. To add the Quit action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Quit The system inserts the Quit action step in the transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 305 7 Defining the Transaction Defining Read Table 3 Press F6 (Cancel). The Quit action step requires no definition. Defining Read Table Use the Read Table action step to retrieve information from a database table. In the Define Read Table screen (example in Figure 86 on page 311) you specify the name of the database table, whether you want the system to search from the beginning, the field you want to match, and the value (or expression) you want to match. If the system finds a match, it lets you know, and makes the matching record available to the transaction. Table Name Specify the name of the database table from those available to the application. Search from Beginning Specify if you want the system to search from the beginning of the table. The first time a lookup is done in a specific database table in a transaction, the system begins the search from the top of the database table. If a match is found, the next lookup begins with the record that follows the previous match Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 306 7 Defining the Transaction Defining Read Table (if you specify no in the Search From Beginning field). If a match is not found, the next lookup starts from the beginning. By specifying no in the Search From Beginning field, you can search a database for more than one match. This enables you to locate multiple records that match a particular set of key values (search criteria). Just continue to read the same table with the same set of key values until no more records are matched (for example, $MATCH_FOUND is set to 0–see below). A Read Table action step on the same table, but with a different set of values, will interrupt a continuous search for multiple matching records. Specify yes in the Search From Beginning field if you want to make sure a search will start from the beginning of the database table. Otherwise, you could miss a record that is above where the search starts. Field Name In each line, select the field name that you want to search for a match. You can specify a search criteria (key value) for each field in a database table. If you specify a key value for more than one field, a match will be found only if a record in the database matches all the fields with key values specified. In other words, the search criteria work together as a logical AND, not as a logical OR. The initial screen contains five sets of blank lines to specify fields and key values. More are available on additional pages. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 307 7 Defining the Transaction Defining Read Table First / Second Operand and Operator Use the Operand and Operator fields on each line to specify a value or simple arithmetic expression for the system to use as a search criteria (key value). Each operand can be a field or a constant. If you specify a value in the 2nd Operand field, you must also specify an operator in the Operator field. The operator can be one of the four basic arithmetic functions: “+,” “-,” “*,” or “/.” For an expression, the value is the result of the two operands and the operator, as described in Defining Evaluate on page 245. $MATCH_FOUND If the system finds a record with all specified values in all specified fields, a “match” has been found. If you refer to the database table field names in the following transaction steps, the field values will be those of the matched record. Script Builder uses a system field of type num, called $MATCH_FOUND, to indicate whether a match was found in the Read Table action step. The system increments the $MATCH_FOUND variable for a successful Read Table action step, regardless of how many matches are found (for example, if a Read Table action step found five matches, $MATCH_FOUND would be incremented to 1). If the next READ_TABLE is not a search from the beginning and matches are found, the $MATCH_FOUND value is incremented to 2. The value of $MATCH_FOUND is set to 1 if a match is Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 308 7 Defining the Transaction Defining Read Table found in a search that starts at the beginning of a database table. The value of $MATCH_FOUND is set to 0 if no matches are found. If the database DIP experiences difficulties and drops its connection with the database, the system returns a value of -4 in $MATCH_FOUND. ! CAUTION: You can nest a Read Table action step within another Read Table action step, but this is not recommended. In this case, each search will start from the beginning of the table. You must specify search criteria carefully to make sure you get the result you want. Example As an example, suppose you want a caller to be able to call River Bank and receive one of four interest rates: savings, checking, mortgage, and automobile. You would design the transaction with an interest rate selection menu in a Prompt & Collect action step, with the four interest categories offered as choices. Assume the application includes a database table called “river_db” with three fields: account_type, tt_code, and current_rate. In Figure 86 on page 311, tt_code is specified for a match in the Field Name field. The tt_code field contains a single digit, such as 1 through 4, corresponding to the number used in the menu. Therefore, the number entered by the caller in $CI_VALUE can be matched with the number in Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 309 7 Defining the Transaction Defining Read Table tt_code to find the record with the desired interest rate. Then you could use an Announce action step to speak the value of account_type and current_rate to the caller. Defining the Read Table Action Step To define the Read Table action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu. 2 Select >Read Table The system inserts the Read Table action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the Read Table action step in the transaction. 5 Press F4 (Define). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 310 7 Defining the Transaction Defining Read Table The system displays the Define Read Table screen (example in Figure 86 on page 311). The example shown is for the sample River Bank application (see Appendix A, Sample Application. Figure 86. Sample Define Read Table Screen 6 In the Table Name field, enter the name of the database table to be examined, or press F2 (Choices) to select from a menu of database table names in the application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 311 7 Defining the Transaction Defining Send Host Screen 7 In the Search From Beginning field, enter Y or press F2 (Choices) to select yes from a menu if you want the Read Table action to start from the first record each time. The default is no (see Search from Beginning on page 306.) 8 For each line, enter or select your choice in the Field Name field. If you need more than five lines, additional pages are available. Press F8 (Chg-Keys), then F1 (Addpage). If more than one page is used, press F3 (Prevpage) and F4 (Nextpage) to move among them. 9 For each line, enter or select your choice in the 1st Operand field. 10 For each line, if you select a 2nd Operand, you must also select an Operator. The system will search in Field Name for the value of the expression after the operation is performed. 11 Press F3 (Close) to complete the definition and return to the Define Transaction screen (Figure 60 on page 215). Defining Send Host Screen Use the Send Host Screen action step to specify the name of the screen to be sent, any fields to be sent, the value for each field, and the aid key to send the screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 312 7 Defining the Transaction Defining Send Host Screen Typically, every Send Host Screen action step in the transaction should be followed by a Get Host Screen. See Defining Get Host Screen on page 258. You can select the fields that have been defined with a usage of TO_HOST or BOTH for the specified host screen. See Defining Screen Fields in Chapter 4, Defining the Host Interface. You can assign to a field the value of a field name, a constant, or a simple expression (as described above in the Evaluate action step). You must assign the value in the Send Host Screen action step in order for it to be sent to the host computer. In the example (Figure 87 on page 314), in the screen ordernum the system assigns the value of ccnum to the field order_number, and the value is sent to the host with the ENTERKEY. To define the Send Host Screen action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Send Host Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 313 7 Defining the Transaction Defining Send Host Screen The system inserts the Send Host Screen action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the Send Host Screen action step in the transaction. 5 Press F4 (Define). The system displays the Define Send Host Screen (example in Figure 87 on page 314). Figure 87. Sample Define Send Host Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 314 7 Defining the Transaction Defining Send Host Screen 6 In the Send Screen Name field, enter the name of the screen or press F2 (Choices) to select from a menu. 7 In the Use Aid Key field, press F2 (Choices) to select from a menu of aid keys. Note: You may want to send just an aid key to the host, without sending any host screen or field. In this case, when you define the Send Host Screen action step, fill in just the name of the aid key to be sent, and nothing else in the screen. 8 For each line, enter or select your choice in the Field Name field. If you need more than five lines, additional pages are available. Press F8 (Chg-Keys), then F1 (Addpage). If more than one page is used, press F3 (Prevpage) and F4 (Nextpage) to move among them. 9 For each line, enter or select your choice in the 1st Operand field. 10 For each line, if you select a 2nd Operand, you must also select an Operator. The system will send to the Field Name the value of the expression after the operation is performed. 11 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 315 7 Defining the Transaction Defining Set Field Value Defining Set Field Value Use the Set Field Value action step to assign a new value to one or more fields. You can assign to a field the value of a field name, a constant, or a simple expression (as described above in the Evaluate action step). If you use mixed field types, the Script Builder rules of conversion apply (see Data Conversions on page 77 in Chapter 3, Data Management). The system sets the field values one at a time, in the order listed. Therefore, when a field assigned a value in one row is used later as an operand in another row, the result of the first operation does affect the results of the second. To define the Set Field Value action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Set field Value Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 316 7 Defining the Transaction Defining Set Field Value The system inserts the Set Field Value action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the Set Field Value action step in the transaction. 5 Press F2 (Define). The system displays the Define Set Field Value screen (example in Figure 88 on page 317). Figure 88. Sample Define Set Field Value Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 317 7 Defining the Transaction Defining Transfer Call 6 For each line, enter or select your choice in the Field Name field. If you need more than five lines, additional pages are available. Press F8 (Chg-Keys), then F1 (Addpage). If more than one page is used, press F3 (Prevpage) and F4 (Nextpage) to move among them. 7 For each line, enter or select your choice in the 1st Operand field. 8 For each line, if you select a 2nd Operand, you must also select an Operator. The system will set the Field Name to the value of the expression after the operation is performed. 9 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Defining Transfer Call Use the Transfer Call action step to transfer the caller to another telephone number, referred to here as the third party. Typically this is a customer service representative or attendant. Before using Transfer Call, you should confirm that the transfer parameters are set to the appropriate PBX switch. See Chapter 5, “Switch Interface Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for analog switch information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 318 7 Defining the Transaction Defining Transfer Call Three types of transfers are available: blind, intelligent, and Full CCA [Full CCA requires the optional Call Classification Analysis (CCA) package]. You can use all three types within a single transaction. All three types of transfers allow the system to transfer a call to a different extension, using the transfer and/or three-way calling feature of the PBX. ! CAUTION: You cannot use the Transfer Call action on a converse vector call. Transfer Call To The Transfer Call To field specifies the number to which a call is to be transferred. In this field, you may enter an appropriate numeric constant (for example, 6519) or the name of a field of type char that contains an appropriate string (for example, the field Agent_3 containing 6519). The value must be from 1 to 16 touch-tone characters. No other characters are permitted in the value, but the field name may contain alphanumeric characters (as usual). Type Use the Type field to specify whether the type of transfer is to be Blind, Intelligent, or Full_CCA. Full_CCA is displayed as a choice for the Type field only if the optional CCA feature has been installed. If you specify Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 319 7 Defining the Transaction Defining Transfer Call Intelligent or Full_CCA, you can make selections in the Non-Blind Transfer Call Data portion of the screen (see Non-Blind Transfer Call Data on page 324). Blind Transfer When you select Blind, the system completes the call as soon as the extension is dialed without waiting to determine if the third party is busy or answers. If the third party is busy or no one answers, the original caller normally hears the busy or ringing tone provided by the PBX. It is not possible to reconnect the caller in these cases. Note: You can define a blind transfer within a Prompt & Collect action step. For a blind transfer, the system sets the $TRANSFER_RESULT field to one of the ASCII one-character values shown in Table 22 on page 321. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 320 7 Defining the Transaction Table 22. Blind Transfer Call Dispositions $TRANSFER_RESULT Meaning “X” Dialing successfully completed “1” • Internal hardware/software error • Dialing error • Unexpected PBX response “2” Timeout “3” Illegal dial string Note: Intelligent Transfer Defining Transfer Call If the transaction terminates before the blind transfer is executed, none of the above values are returned and the $TRANSFER_RESULT field is blank. When you select Intelligent, the system monitors the channel after dialing is completed to determine if a Busy, Reorder (fast busy), or other failure is encountered. Intelligent transfer informs you when the extension is answered or if the extension is not answered after a specified number of rings. The system monitors the channel using speech energy detection, answer supervision, and call progress tone detection, depending on what services are available on the assigned channel. The transaction determines how the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 321 7 Defining the Transaction Defining Transfer Call call should be handled in each of these cases. Intelligent transfer takes a little longer to classify the call as “complete” or “no answer.” You may want to play a message to the third party to announce the incoming call so that the third party is prepared to greet the caller (this is sometimes called a whisper transfer). Each of the intelligent transfer call dispositions shown in Table 23 on page 322 is available on a Tip/Ring circuit card, LST1 (with Full CCA or on AYC21), and LSE1. Table 23. Intelligent Transfer Call Dispositions $TRANSFER_RESULT Meaning “A” Answer detected (voice energy detected) or answer supervision (DTMF connection tone from DEFINITY ECS)* “B” Busy “F” Fast busy “I” Intercept tone heard representing an invalid extension (on DEFINITY® ECS or other Lucent Technologies PBX) “N” Ring, no answer 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 322 7 Defining the Transaction Table 23. Defining Transfer Call Intelligent Transfer Call Dispositions $TRANSFER_RESULT Meaning “h” Caller disconnected during transfer (DTMF disconnection tone from DEFINITY ECS)8, † “t” Touch-tone entry detected “-1” • Internal hardware/software error • Dialing error • Unexpected PBX response “-2” Timeout “-3” Illegal dial string 2 of 2 * DTMF feedback must be properly administered on the DEFINITY ECS and on the Intuity CONVERSANT system to detect answer supervision or caller disconnect DTMF tones. † When the $TRANSFER_RESULT is “h,” the caller has disconnected without waiting for the transfer to complete. The transaction will automatically hang up (disconnect). Full CCA Transfer When you select Full_CCA, more call dispositions are available to the system than are provided by intelligent transfer. The system monitors the channel using speech energy detection, answer supervision, and call progress tone Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 323 7 Defining the Transaction Defining Transfer Call detection, depending on what services are available on the assigned channel. See Chapter 8, Using Optional Features, for additional information. Non-Blind Transfer Call Data The Non-Blind Transfer Call Data portion of the screen requires information about what the Script Builder transaction is supposed to do next based on the result of the transfer. Maximum Number of Rings Use the Maximum Number of Rings field to specify how many rings the system should wait before determining that the call is not answered. Answer Phrase Use the Answer Phrase field to specify the phrase to be spoken to the third party before the system performs the action specified in the New Caller State. The system speaks the specified phrase for a Case of Answer. New Caller State Use the New Caller State field to specify how to complete the transfer, for each defined Case of Answer, Busy, No Answer, and Error. You may leave the caller on hold, complete the transfer connection, or drop the third party and reconnect the caller to the transaction. Valid choices for this field are Hold, Complete, and Reconnect. If the New Caller State field is left blank, the system will keep the caller on hold, allowing the transaction to take other actions or play to the third party more complex announcements than the Answer Phrase before completing Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 324 7 Defining the Transaction Defining Transfer Call the call (this is sometimes called a whisper transfer). In this case, it is necessary to use the Reconnect or Complete External Functions. See Chapter 11, Using Advanced Features, for information on External Functions. Goto Labels Use the Goto Labels field to continue to another Label within the transaction. This is useful to announce a field to the third party. If this field is left blank, the transaction progresses to the next action. Defining the Transfer Call Action Step To define the Transfer Call action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Transfer Call The system displays the Add Transfer Call window (Figure 89 on page 326). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 325 7 Defining the Transaction Figure 89. Defining Transfer Call Add Transfer Call Window 3 Enter a numeric constant (up to 16 touch-tone characters) or field name (up to 24 alphanumeric characters) for an extension. 4 Press F6 (Cancel) to exit the Action Choices menu. 5 Highlight the Transfer Call action step in the transaction. 6 Press F4 (Define). The system displays the Define Transfer Call screen (Figure 90 on page 327). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 326 7 Defining the Transaction Figure 90. Defining Transfer Call Define Transfer Call Screen 7 In the Maximum Number of Rings field, enter your selection. The default is 1. 8 In the Answer Phrase field, enter the Phrase Tag of the message to be played to the third party. Use of this field is optional. 9 In the New Caller State field, specify an action for the system to take for each defined Case. 10 In the Goto Labels field, specify a Label in the transaction for the system to perform next. Use of this field is optional. 11 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 327 7 Defining the Transaction Defining Transfer Call Transfer Call: Tips You can use intelligent transfer to handle Error and Busy cases within a transaction, but have the system complete the call as soon as it determines that the telephone is not busy. This is done by specifying the Maximum Number of Rings field as 1, and selecting the Complete State for both Answer and No Answer. When this is done, the caller is connected to the third party as soon as the first ring is heard or the third party answers. If any other condition occurs, the caller can be reconnected so that a different action is taken. Be sure to consider the situation before selecting the value of 1 as the Maximum Number of Rings. After the first ring, the system interprets the call as a No Answer and continues accordingly. Note: When connected to a DEFINITY ECS, the optional feature Sending DTMF Feedback Tones to VRU will provide faster and more reliable connection and disconnection transfer results. Transfer Call Performance Issues Be aware of the following performance issues with the Transfer Call action: • Because Transfer Call utilizes the transfer capability of a PBX or central office, you may be limited to transferring to telephone lines within the capability of that PBX or central office. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 328 7 Defining the Transaction Defining Transfer Call • For PBX or central offices that allow outside transfers, the network tones that are received may vary and the system may not recognize them correctly during an intelligent transfer. This could result in some network tones being recognized as an answer. However, you can overcome this problem by using the optional for Full CCA feature. • Transfer capabilities are not provided with voice channels that are serviced by trunks, such as PRI, T1 (E&M), or E1 (CAS). Therefore, do not use the Transfer Call action step for transferring on these types of channels. A similar capability on these types of trunks is provided through the Call Bridge action step. See Defining Call Bridge on page 334. • If secondary dial tone is expected during dialing and it is necessary that the system waits for it before completing dialing, then one of the following special procedures is necessary: ~ A switch transfer sequence can specify the wait for secondary dial tone if all transfers on the machine use it. Accomplish this by adding a W or P in the To Initiate Transfer field of the Analog Interfaces screen. See Chapter 5, “Switch Interface Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information. ~ Write an external function using TAS script instructions to do the complete dialing sequence, including the wait for secondary dial tone. See Intuity CONVERSANT System Version 7.0 Application Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 329 7 Defining the Transaction Defining Background Development with Advanced Methods, 585-313-203, for more information on TAS script language instructions (including the tic instruction). Defining Background Use the Background action step to connect a caller to background music or speech that has been prerecorded and loaded on the system. The system can play any recorded phrase in the background. Each unique background phrase will be played on only one time division multiplexor (TDM) time slot at a time. Therefore, all connected callers will be listening to the same part of the phrase being played. As new callers are added and assigned to channels, they hear the phrase from where it is currently, rather than from the beginning. The system restarts the phrase when it has been played to the end. As long as background is enabled, the script continues to play the phrase as long as any caller (channel) is listening to it. The limit on the number of channels that can simultaneously use the background feature is determined by your system capacity. Each system has 256 time slots, and a maximum number of channels, such as 72. Each active channel uses two time slots (talk and listen). For a 72 channel system using barge-in, the limit of background channels would be 256 - (2 X 72)/2 = 56. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 330 7 Defining the Transaction Defining Background The number of different phrases that can be played in the background is limited by the total number of phrases that can be played simultaneously. This is estimated at 48. Speech breaks may occur if more than 48 phrases are played simultaneously or there are not at least 2.5 speech buffers per phrase. If your application allows other speech to be played on a channel at the same time that background is played, you should downgrade the number of channels. If your application does not allow other speech to be played on a channel at the same time as background, then a 48 channel system will not exceed the limit of background phrases. Note: A time division multiplexor (TDM) bus and a speech and signal processor (SSP) or signal processor (SP) circuit card must be installed in the system for the background action to function properly on Tip/Ring channels. The setting of a channel to tdm or talk in the Change Options of Voice Equipment screen makes a difference in how the system plays the background speech. If the channel is set to tdm, background speech continues to play at a lower volume while normal (foreground) speech is played. If the channel is set to talk, background speech is interrupted while foreground speech is played. To define the Background action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 331 7 Defining the Transaction Defining Background The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Background The system inserts the External Action: Background action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the External Action: Background action step in the transaction. 5 Press F4 (Define). The system displays the Define Background window (Figure 91 on page 333). Note: You need to prerecord the phrase before enabling the Background action step. This is true whether the phrase will be accessed by a phrase number or a phrase tag name. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 332 7 Defining the Transaction Figure 91. Defining Background Define Background Window 6 In the Background On or Off field, select On (default) to enable Background, or Off to disable it. 7 In the Phrase Number or Tag field, select either Phrase Number or Tag to identify music or speech by a phrase number or phrase tag. 8 In the Phrase Identification field, select a phrase number or phrase tag (depending on your choice in the Phrase Number or Tag field) defining the background music or speech to be played. If you selected Phrase Number in the previous field, the Phrase Identification entry must be the name of a field containing a phrase number or a numeric constant from 1 to 65535. If you selected Tag in the previous field, the Phrase Identification entry must be one of the tag names available in the F2 (Choices) menu or a phrase tag containing an alphanumeric constant. A phrase tag is limited to a maximum of 50 characters. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 333 7 Defining the Transaction Defining Call Bridge 9 In the Return Field, specify the field in which an optional return code will be placed. If the background instruction is successful, the system returns a positive value. If the instruction is unsuccessful, the system returns a negative value. 10 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Defining Call Bridge Use the Call Bridge action step to place an outbound call to a third party and maintain the connection while the caller interacts with the third party on the called channel (Figure 92 on page 335). When the third party hangs up, the transaction continues with the next action step. The Call Bridge action step can connect a caller with a third party when the Transfer Call action step cannot be used with the PBX or central office. Note: A second channel is required to place the outgoing call. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 334 7 Defining the Transaction Figure 92. Defining Call Bridge Define Call Bridge Window The bridge is typically established in the following sequence: 1 The original caller calls the Script Builder application, assigned to channel A. 2 The application answers the telephone, interacts with the original caller, and eventually decides to do a Call Bridge to a third party. 3 The system next does the following Steps a through c under the direction of the Call Bridge action. a The system selects an available outbound channel B from the specified equipment group. b The system originates a call on the outbound channel to the specified number and waits for an answer from the third party if it is doing an intelligent or Full CCA type of outdial. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 335 7 Defining the Transaction Defining Call Bridge c For intelligent and Full CCA types of outdials, if the call is answered, the system bridges channel A and channel B together through the TDM bus. However, if the call is not answered (for example, busy), the Call Bridge action returns to the application with a failure indication. For a blind type of outdial, the system bridges the channels together as soon as dialing is complete. 4 Once the bridge is established, the original caller and the third party can speak to one another. Since a blind type of outdial bridges the channels before the third party answers, the original caller may hear some of the call progress tones (for example, busy, ringing, etc) resulting from the outdial on channel B. 5 During this time when the channels are bridged, the application is suspended indefinitely until either the original caller or the third party hangs up. If the third party hangs up, the bridge is taken down and the application returns from the Call Bridge action step with a successful indication and proceeds with the next action. If the original caller hangs up, the bridge is taken down and the application terminates unless it catches the hangup event. Note: Script Builder does not directly support catching the hangup event, but you can write an external function to do this. See Chapter 11, Using Advanced Features, for more information on writing external functions. See Intuity CONVERSANT System Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 336 7 Defining the Transaction Defining Call Bridge Version 7.0 Application Development with Advanced Methods, 585-313-203, for additional information on the TAS event instruction. Note: The System Monitor screen will display the current application running on the inbound channel, and the agent application (included with the system) running on the outbound channel. The discussion above illustrates a few important points about using Call Bridge: • Two channels are required: one for the original caller and one for the third party. • The TDM bus must be physically connected between the circuit cards of the channels. • The transaction is suspended indefinitely during the Call Bridge action step until one end hangs up. Then the bridge is taken down and the transaction continues with the next action step following the Call Bridge. Note: If Call Bridge was disabled during the initial software installation, the Call Bridge action step is still listed in the Action Choices menu but is not operational. If Call Bridge was disabled, you can enable Call Bridge without reloading the software by typing xferdip_on at the UnixWare system prompt. Call Bridge may later be disabled by typing xferdip_off at the UnixWare system prompt. Note that you must be logged in as root or have super-user permissions to Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 337 7 Defining the Transaction Defining Call Bridge perform either of these commands. See Appendix A, “Summary of Commands,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information about the xferdip_on and xferdip_off commands. Phone Number The Phone Number field is the telephone number of the outbound call. You can enter a numeric value (maximum of 16 touch-tone digits) or a field name (maximum of 24 alphanumeric characters). Valid entries for this field are an appropriate numeric constant (for example, 12345) or a field that contains an appropriate numeric constant. Equipment Group Number The Equipment Group Number field identifies the group from which the system will select an available (idle) outgoing channel. The selection in this field enables some channels and restricts others. The default selection is 02. See Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on assigning channels to equipment groups. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 338 7 Defining the Transaction Defining Call Bridge Outcome of Call (Call Disposition) The Outcome of Call field contains the name of the field in which the system stores the result of the outdial. The default is $TRANSFER_RESULT. See Table 24 on page 340 and Table 25 on page 341 for additional information. Type The Type field sets the type of call. The default type is Blind. The standard choices are Blind or Intelligent. If the optional CCA Feature has been installed, Full_CCA appears as a choice for the Type field. Blind Call Bridge When Blind is selected, the bridge is established as soon as the third party’s number is dialed, without waiting to determine if the third party is busy or answers. If the third party is busy or no one answers, the original caller normally hears the busy or ringing tone provided by the PBX. For a blind bridge, the Outcome of Call field is set to one of the ASCII onecharacter values in Table 24 on page 340 depending on the results of the bridge. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 339 7 Defining the Transaction Table 24. Defining Call Bridge Blind Call Bridge Dispositions Code* Meaning “X” Dialing successfully completed “1” • Internal hardware or software error • Dialing error • Unexpected PBX response “2” Timeout “3” Illegal dial string * These codes are available for Tip/Ring, T1(E&M), E1(CAS), LSE1/LST1, and PRI. Intelligent Call Bridge When Intelligent is selected, the caller is not bridged until the system recognizes that the third party has answered. The system monitors the channel after dialing is completed to determine if a Busy, Reorder (fast busy), or other failure is encountered. It also recognizes when the third party answers or if the third party does not answer after a specified number of rings. The system monitors the channel using speech energy detection, answer supervision, and call progress tone detection, depending on what services are available on the assigned channel. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 340 7 Defining the Transaction Defining Call Bridge For an intelligent bridge, the Outcome of Call field is set to one of the ASCII one-character values in Table 25 on page 341 depending on the results of the bridge. Table 25. Intelligent Call Bridge Dispositions Meaning Available (Y) On Code Tip/ Ring Answer detected (for example, voice energy detected) “A” Y Answer supervision from switch “A” —* Busy† “B” Fast busy† T1 (E&M) or E1 (CAS) LSE1/LST1 (on AYC21) PRI Y Y —* Y Y Y —‡ “F” Y Y —‡ Intercept tone heard representing an invalid extension (on DEFINITY ECS or other Lucent Technologies PBX) “I” Y —§ Ring, no answer “N” Y Y Touch-tone entry detected “t” Y ISDN vacant code “v” Y Y Y Y Y 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 341 7 Defining the Transaction Table 25. Defining Call Bridge Intelligent Call Bridge Dispositions Meaning Available (Y) On Code Tip/ Ring T1 (E&M) or E1 (CAS) LSE1/LST1 (on AYC21) PRI Provisioning or protocol error “1” Y Internal hardware or software error, dialing error, or unexpected PBX response “1” Y Y Y Y Timeout “2” Y —¶ Y —¶ Illegal dial string “3” Y Y Y Y 2 of 2 * This disposition is not always provided by the switch, the only source of PRI information. If this condition occurs and the switch does not provide the disposition of the call, a timeout value of 2 is returned (unless Full CCA is used to allow detection of the busy or fast busy tone). † For PRI channels, the system converts information from the switch into Busy, Fast Busy, or Dialtone call dispositions. An audible tone may not be present. ‡ This disposition is not always provided by the switch, the only source of PRI information. If this condition occurs and the switch does not provide the disposition of the call, a timeout value of 2 is returned (unless Full CCA is used to allow detection of the busy or fast busy tone). § The intercept tone can be detected using Intelligent CCA on an AYC21 with LSE1 or LST1. ¶ Typically, timeout for T1 (E&M) and PRI channels indicates that the call was either Busy, Fast Busy, or Ring No Answer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 342 7 Defining the Transaction Full CCA Call Bridge Defining Call Bridge When Full_CCA is selected, more call dispositions are available than are provided by an intelligent Call Bridge. The system monitors the channel using speech energy detection, answer supervision, and call progress tone detection, depending on what services are available on the assigned channel. See Chapter 8, Using Optional Features, for the call dispositions available when using Full CCA. Maximum Number of Rings For intelligent and Full CCA outdials, the Maximum Number of Rings field is used to determine how long to wait for an answer. After dialing the number, Call Bridge waits for an answer until one of the following occurs: • Call Bridge detects a busy or fast busy or some other call disposition (in which case Call Bridge returns with an outcome of the call). • The number of audible ring tones detected has exceeded the specified Maximum Number of Rings (in which case Call Bridge returns an “N” for Ring No Answer). Ring tone detection is available only for the following: ~ Tip/Ring (using intelligent or Full CCA) ~ LSE1 or LST1 on AYC21 (using intelligent or Full CCA) ~ T1 (E&M) (only with Full CCA) ~ T1-PRI (only with Full CCA) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 343 7 Defining the Transaction • Defining Call Bridge The amount of time to wait for an answer is exceeded (in which case Call Bridge returns a “2” for timeout). The amount of time to wait is based on the specified Maximum Number of Rings. Note: Note that for intelligent outdials on PRI, T1 (E&M), or E1 (CAS) channels, the Maximum Number of Rings determines the amount of time the system waits for answer supervision. This is because intelligent CCA on PRI, T1 (E&M), or E1 (CAS) does not rely on counting the number of audible ring tones to determine whether the call was answered, as in the case of Tip/Ring or LSE1/LST1. Instead it relies on the switch to detect the answer and then to send the answer supervision message. See Table 26 on page 345 for additional information. Call Bridge waits at least 45 seconds and then approximately 6 seconds more for each additional ring after the sixth ring. For example, specifying 8 rings makes Call Bridge wait for at least 57 seconds for an answer, that is, 45 + 12 seconds (6 seconds for each additional ring). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 344 7 Defining the Transaction Table 26. Defining Call Bridge Maximum Number of Rings Field Call Bridge Type Circuit Card Type ”Maximum Number of Rings” Meaning Blind Tip/Ring or LST1 N/A Blind T1 (E&M), E1(CAS), or PRI N/A Intelligent LSE1/LST1 on AYC21, or Tip/Ring Specifies the number of rings the system waits for answer detect Intelligent T1 (E&M), E1(CAS), or PRI Specifies the amount of time the system waits for answer supervision Full CCA Tip/Ring, LSE1, or LST1 Specifies the number of rings the system waits for answer supervision Full CCA T1 (E&M) or PRI Specifies the amount of time the system waits for answer supervision Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 345 7 Defining the Transaction Defining Call Bridge Return Value The Return Value field is an optional field limited to a maximum of 24 characters. This field contains the result of the Call Bridge. Valid return code values are: • 0: Successful completion of bridge (bridge was established and later dropped because third party has hung up) • -1: Outbound channel not available (for example, no idle channels are available in the specified equipment group, no channels are assigned to the specified equipment group, or outbound channels are not in service) • -2: Third party could not be reached (see the Outcome of Call field for further explanation) Defining the Call Bridge Action Step To define the Call Bridge action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 346 7 Defining the Transaction Defining Call Bridge 2 Select >Call_Bridge The system inserts the External Action: Call_Bridge action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the External Action: Call_Bridge action step in the transaction. 5 Press F4 (Define). The system displays the Define Call Bridge window (example in Figure 93 on page 347). Figure 93. Sample Define Call_Bridge Window Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 347 7 Defining the Transaction Defining Call Bridge 6 In the Phone Number field, enter a numeric constant (up to 16 touch-tone characters) or field name (up to 24 alphanumeric characters) for an extension. 7 In the Equipment Group Number field, enter or select your choice. Default is 02. 8 In the Outcome of Call field, enter your choice of a field name. Default is $TRANSFER_RESULT. 9 In the Type field, enter or select your choice. Default is Blind. 10 In the Maximum Number of Rings field, enter your choice. 11 In the Return Value field, enter your choice of a field name. Use of this field is optional. 12 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Call Bridge: Tips If the two parties cannot hear each other after the bridged connection is established, lack of a TDM bus connection could be the problem. For each channel, make sure that it is included in its specified Equipment Group Number and that the circuit card is physically connected to the TDM bus. If either channel is not connected to the bus, the bridge will not function properly. See Chapter 3, “Voice System Administration,” in Intuity Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 348 7 Defining the Transaction Defining Call Bridge CONVERSANT System Version 7.0 Administration, 585-313-501, for information about determining whether a circuit card is connected to a TDM bus. If callers hear a hum or buzzing after the bridged connection is established, change the impedance setting (if available) for the channel on the Tip/Ring circuit card. See “Installing or Replacing Circuit Cards” chapter in the maintenance book for your platform for information on circuit card settings. Call Bridge Performance Considerations Be aware of the following performance issues with Call Bridge: • For calls outside the PBX or central office on Tip/Ring channels, or on LSE1/LST1 channels on an AYC21, the network tones that are received may vary and may not always be recognized correctly by the intelligent Call Bridge feature. This could result in some network tones being recognized as an answer. However, this problem may be overcome by using the optional Full CCA feature (available only for United States and Canada). • T1 (E&M) or E1 (CAS) channels rely on answer supervision to determine the outcome of the outdial. Network call progress tones (such as busy, ring no answer) are not detected. Therefore, the only normal outcomes are answer or timeout. If your application requires the ability to detect Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 349 7 Defining the Transaction Defining Call Bridge progress tones on a T1 (E&M) channel, the optional Full CCA feature can provide this capability (for US and Canada). Note that Full CCA is not available for E1 (CAS). • PRI channels rely on answer supervision to determine the outcome of the outdial. Usually, the outcome is only answer or timeout. However, sometimes call dispositions are obtained via ISDN messages from the switch. If your application requires the ability to detect progress tones on a T1-PRI channel, the optional Full CCA feature can provide this capability (for US and Canada). See Using PRI on page 538 in Chapter 8, Using Optional Features, for more information on using PRI. • Touch tones are not passed through the system when Tip/Ring circuit cards are used in a bridged arrangement. If an application requires passing tones from one party through the system to another party, then PRI, T1 (E&M), or E1 (CAS) channels must be used and the DTMF Muting option must be turned off. See Chapter 5, “Switch Interface Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on making adjustments through the Digital Interfaces screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 350 7 Defining the Transaction Defining Execute Defining Execute Use the Execute action step to terminate the current application on the channel without hanging up the call and then start another application on the same channel. You can execute one application from another an unlimited number of times per call on a channel. However, there is a limit 552 characters for the arguments used on a channel. Up to 10 arguments can be passed to the next application with each Execute action step. If desired, a call data record can be generated for the terminated application. If the executed application is written using Script Builder, it can use the getarg external function to access arguments passed via the Execute action step. See Chapter 11, Using Advanced Features, for information on the getarg external function. Application Name The Application Name field is a required field that identifies the application to be executed. The Application Name is specified either by a string constant of up to 12 characters that is enclosed in double quotes (for example, “chantst”) or by a field name of up to 24 characters that contains the application name. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 351 7 Defining the Transaction Defining Execute Write Call Data Record Now? The Write Call Data Record Now? field is a required field that indicates whether to generate a call data record for the current application before executing the next application. If you specify yes in the Write Call Data Record Now? field, the system will create a call data record (including current application name, channel, start time, duration of call, and any application-specific call data events) for the current application in the Call Data Database when the Execute action is invoked at run-time. The call data information for the next application will be reset as if a new call arrived. Consequently, the application name is set to the next application, the start time of the call is set to the current time, the duration of the call is reset back to zero (0), the channel number is set to the current channel number (no change), and the call data event list is reset to all zeros (0). If you specify no in the Write Call Data Record Now? field, the system will not create a call data record and the start time, duration, and channel of the current application will be saved for the next application. By not creating a call data record, the duration can accumulate across applications until the next time a call data record is created for the specified channel. The call data events will not be automatically inherited by the next application. However, up to 10 call data events can be passed to the next application as arguments in the Execute action. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 352 7 Defining the Transaction Defining Execute Argument 1 to Argument 10 The Argument 1 to Argument 10 fields allow you to specify sequentially up to ten arguments to pass to the next application. Specify an argument either by a field name of up to 24 characters that holds a string number, a string constant of up to 50 characters and enclosed in double quotes, or a numeric constant that is a sequence of digits (0–9) and may be preceded by a minus sign. Note that the system converts each argument to char type according to the rules in Data Conversions on page 77 in Chapter 3, Data Management. Therefore, the next application should expect the arguments in character format. Specify the arguments sequentially, starting with Argument 1. An empty or unspecified argument that precedes a nonempty argument is passed as a null string (zero-length). An empty argument following the last nonempty argument is not passed. There is a limit of 552 characters for arguments. See the discussion on argument space allocation in Execute: Tips on page 356. Return Field The Return Field is an optional field that specifies the field name used to store the return value of the Execute action. The field name used in the Return Field is limited to a maximum of 24 alphanumeric characters. The contents of the field must be of the numeric type. If the Execute action is Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 353 7 Defining the Transaction Defining Execute successful, the system does not return to the current application and the content of the specified Return Field is unchanged. If the Execute action is unsuccessful, one of the following values is returned in the specified Return Field of the current application: • -1: No application is installed with the given name. • -2: There is not enough space to fit all arguments. The 552-character limit has been exceeded. Defining the Execute Action Step To define the Execute action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Execute The system inserts the External Action: Execute action step in the transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 354 7 Defining the Transaction Defining Execute 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the External Action: Execute action step in the transaction. 5 Press F4 (Define). The system displays the Define Execute screen (Figure 94 on page 355). Figure 94. Define Execute Screen 6 In the Application Name field, enter or select an application name or a field containing the name. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 355 7 Defining the Transaction Defining Execute 7 In the Write Call Data Record Now? field, enter or select yes or no, depending or your requirements. 8 In the Argument 1 through Argument 10 fields, enter or select the arguments you have decided to pass sequentially to the next application on this channel. 9 In the Return Field, enter or select the name of the field to contain the result of the Execute action step. Use of this field is optional. 10 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Execute: Tips There is a limit of 552 characters for the arguments of all Execute action steps on a channel. Regardless of how many arguments are passed or how many Execute action steps are specified in an application, this limit cannot be exceeded. With 552 characters, an application can pass 10 arguments each containing 50 characters. Use the following formula to compute the total space required to pass the application’s arguments: total_arg_space = summation of the maximum lengths of each argument overhead = (No_Args * 4) + 2 + No_Args Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 356 7 Defining the Transaction Defining Make Call total (in characters) = total_arg_space + overhead (where No_Args is the number of arguments passed) The total space required to store the arguments is equal to the sum of the maximum lengths of the arguments plus the overhead space. Defining Make Call The Make Call action step, or call origination, allows a transaction to place an outbound call to a user-defined telephone number (Figure 95 on page 357). Typically, applications using Make Call are initiated on a channel using the soft seizure (soft_szr) command or by an application-specific DIP that does a soft seizure. See Appendix A, “Summary of Commands,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on the soft_szr command. Figure 95. Define Make Call Window Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 357 7 Defining the Transaction Defining Make Call Phone Number The Phone Number field is the telephone number of the outbound call. You can enter a numeric value (maximum of 16 touch-tone digits) or a field name (maximum of 24 alphanumeric characters). Valid entries for this field are an appropriate numeric constant (for example, 2345678) or a field that contains an appropriate numeric constant. Outcome of Call (Call Disposition) The Outcome of Call field contains the name of the field in which the system stores the result of the outdial. The default is $TRANSFER_RESULT. See Table on page 359 and Table 28 on page 361 for additional information. Type The Type field sets the type of call. The default type is Blind. The standard choices are Blind or Intelligent. If the optional CCA Feature has been installed, Full_CCA appears as a choice for the Type field. Blind Make Call When Blind is selected, the transaction dials the telephone number specified and continues with the next action step without waiting to determine the disposition of the call. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 358 7 Defining the Transaction Defining Make Call For a blind Make Call, the Outcome of Call field is set to one of the ASCII one-character values in Table on page 359 depending on the results of the Make Call action step. Table 27. Blind Make Call Dispositions Code* Meaning “X” Dialing successfully completed “1” • Internal hardware or software error • Dialing error • Unexpected PBX response “2” Timeout “3” Illegal dial string * These codes are available for Tip/Ring, T1(E&M), E1(CAS), LSE1/LST1, and PRI. Intelligent Make Call When Intelligent is selected, the transaction dials the telephone number specified and connects to the called party only when answer detection is detected for Tip/Ring or LST1 or when answer supervision is detected for PRI, T1 (E&M), or E1 (CAS) channels. The system monitors the channel using speech energy detection, answer supervision, and call progress tone Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 359 7 Defining the Transaction Defining Make Call detection, depending on what services are available on the assigned channel. If the called number does not answer (that is, the outcome is no answer, busy, or if an error occurs) the transaction drops the call. In all the above cases, the transaction continues on to the next action step. For an intelligent Make Call, the Outcome of Call field is set to one of the ASCII one-character values in Table 28 on page 361 depending on the r results of the Make Call action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 360 7 Defining the Transaction Table 28. Defining Make Call Intelligent Make Call Dispositions Meaning Available (Y) On Code Tip/ Ring Answer detected (for example, voice energy detected) “A” Y Answer supervision from switch “A” —* † Busy “B” Fast busy† T1 (E&M) or E1 (CAS) LSE1/LST1 (on AYC21) PRI Y Y —* Y Y Y —‡ “F” Y Y —‡ Intercept tone heard representing an invalid extension (on DEFINITY ECS or other Lucent Technologies PBX) “I” Y —§ Ring, no answer “N” Y Y Touch-tone entry detected “t” Y ISDN vacant code “v” Provisioning or protocol error “1” Y Y Y Y Y Y 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 361 7 Defining the Transaction Table 28. Defining Make Call Intelligent Make Call Dispositions Meaning Available (Y) On Code Tip/ Ring T1 (E&M) or E1 (CAS) LSE1/LST1 (on AYC21) PRI Internal hardware or software error, dialing error, or unexpected PBX response “1” Y Y Y Y Timeout “2” Y — Y — Illegal dial string “3” Y Y¶ Y¶ Y 2 of 2 * When connected to a DEFINITY ECS, the optional feature Sending DTMF Feedback Tones to the Intuity CONVERSANT system provides a simple form of answer supervision for calls on Tip/Ring, LSE1, and LST1 channels. † For PRI channels, the system converts information from the switch into Busy, Fast Busy, or Dialtone call dispositions. An audible tone may not be present. ‡ This disposition is not always provided by the switch, the only source of PRI information. If this condition occurs and the switch does not provide the disposition of the call, a timeout value of 2 is returned (unless Full CCA is used to allow detection of the busy or fast busy tone). § The intercept tone can be detected using Intelligent CCA on an AYC21 with LSE1 or LST1. ¶ Typically, timeout for T1 (E&M) and PRI channels indicates that the call was either Busy, Fast Busy, or Ring No Answer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 362 7 Defining the Transaction Full CCA Make Call Defining Make Call When Full_CCA is selected, more call dispositions are available than are provided by an intelligent Make Call. The system monitors the channel using speech energy detection, answer supervision, and call progress tone detection, depending on what services are available on the assigned channel. See Chapter 8, Using Optional Features, for the call dispositions available when using Full CCA. Maximum Number of Rings For intelligent and Full CCA outdials, the Maximum Number of Rings field determines how long the system will wait for an answer. Note that this field applies only to intelligent outdials on LSE1/LST1 on AYC21, and Tip/Ring channels; and Full_CCA outdials on Tip/Ring, T1 (E&M), LST1, and PRI channels. For outdials on PRI, T1 (E&M), and E1 (CAS) channels, the value in this field determines the amount of time the system will wait for answer supervision. The system sets the timeout value based on the number of rings specified in this field. See Table 29 on page 364 for additional information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 363 7 Defining the Transaction Defining Make Call Table 29. Maximum Number of Rings Field Make Call Type Circuit Card Type ”Maximum Number of Rings” Meaning Blind Tip/Ring or LST1 N/A Blind T1 (E&M), E1 (CAS), or PRI N/A Intelligent LSE1/LST1 on AYC21 or Tip/Ring Specifies the number of rings the system waits for answer detect Intelligent T1 (E&M), E1 (CAS), or PRI Specifies the amount of time the system waits for answer supervision Full CCA Tip/Ring, LSE1, or LST1 Specifies the number of rings the system waits for answer supervision Full CCA T1 (E&M) or PRI Specifies the amount of time the system waits for answer supervision Defining the Make Call Action Step To define the Make Call action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 364 7 Defining the Transaction Defining Make Call The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Make_Call The system inserts the External Action: Make _Call action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the External Action: Make_Call action step in the transaction. 5 Press F4 (Define). The system displays the Define Make Call window (example in Figure 96 on page 365). Figure 96. Sample Define Make Call Window Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 365 7 Defining the Transaction Defining Make Call 6 In the Phone Number field, enter a numeric constant (up to 16 touch-tone characters) or field name (up to 24 alphanumeric characters) for a telephone number. 7 In the Outcome of Call field, enter your choice of a field name. Default is $TRANSFER_RESULT. 8 In the Type field, enter or select your choice. Default is Blind. 9 In the Maximum Number of Rings field, enter your choice. 10 In the Return Value field, enter your choice of a field name. Use of this field is optional. 11 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Make Call Performance Considerations Be aware of the following performance issues with Make Call: • For calls outside the PBX or central office on Tip/Ring channels, or on LSE1/LST1 channels on an AYC21, the network tones that are received may vary and may not be recognized correctly by the intelligent Make Call feature. This could result in some network tones being recognized as an answer. However, this problem may be overcome by using the optional Full CCA feature (available only for United States and Canada). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 366 7 Defining the Transaction Defining Message Coding • T1 (E&M) or E1 (CAS) channels rely on answer supervision to determine the outcome of the intelligent Make Call. Network call progress tones (such as busy, ring no answer) are not detected. Therefore, the only normal outcomes are answer or timeout. If your application requires the ability to detect progress tones on a T1 (E&M) channel, the optional Full CCA feature can provide this capability (for United States and Canada). Note that Full CCA is not available for E1 (CAS). • PRI channels rely on answer supervision to determine the outcome of the intelligent Make Call. Network tones are not detected. Typically, the only outcomes are answer or timeout. However, certain call dispositions are sometimes obtained via ISDN messages from the switch. If your application requires the ability to detect progress tones on a T1-PRI channel, the optional Full CCA feature can provide this capability (for United States and Canada). See Using PRI on page 538 in Chapter 8, Using Optional Features, for more information on using PRI. Defining Message Coding Use the Message Coding action step to record the caller’s speech and store the message in the system (Figure 97 on page 380). The system stores the message (of a specified maximum duration) in a specified phrase and talkfile number. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 367 7 Defining the Transaction Defining Message Coding Normally, message coding stops when one of the following occurs: 1 Caller presses a touch tone when speaking 2 Caller stops speaking 3 Caller reaches the maximum specified seconds Code Rate and Type The Code Rate and Type field defines the code rate and format type to code the message feature. Coding types are: ADPCM for Adaptive Delta Pulse Code Modulation, CELP for Code Excited Linear Prediction, and SBC for Sub Band Coding. Coding rates are 16, 24 or 32 Kbps. Valid entries for this field are ADPCM16, ADPCM32, CELP16, SBC16, or SBC24. The default value in the Code Rate and Type field is ADPCM32. Higher coding rates generally provide better quality recording but use more disk space to store the message. CELP16 offers excellent quality while using a minimum of disk space. However, CELP uses about four times as much of the SSP processing resource for coding than ADPCM does, and about twice as much for playback. Table 30 on page 369 provides performance information for the respective Message Coding choices. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 368 7 Defining the Transaction Table 30. Defining Message Coding Message Coding Performance Type of Coding Rate (Kbps) Quality Disk Space Requirements (per one second of sound) ADPCM 32 Excellent 4 Kbytes CELP 16 Excellent 2 Kbytes SBC 24 Very good 3 Kbytes SBC 16 Good 2 Kbytes ADPCM 16 Fair 2 Kbytes Table 31 on page 370 provides information on the playback and coding channel capacity per SSP and SP circuit card for the various code types. Note that if an IVP circuit card is used, it can code or playback ADPCM or SBC on all available channels (four or six per card). CELP16 is not available on an IVP circuit card, but is available on all six channels of the IVC6 circuit card and the NGTR circuit card. Note: You can code and playback CELP16 properly only on the hardware that supports it. If either operation (coding or playback) is performed on an unsupported circuit card, the result will be silence or noise. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 369 7 Defining the Transaction Table 31. Defining Message Coding Message Coding Channel Capacities Type of Coding Channel Capacity (Playback/Coding) Per SSP Circuit Card ADPCM16 or ADPCM32 120/120 CELP16 120/60 SBC16 or SBC24 100/100 Maximum Phrase Length The Maximum Phrase Length field is a field name or constant that defines the maximum phrase length (in seconds) of the message to be recorded (and coded) from the caller. Messages exceeding this length are truncated. Valid ranges for this field are from 0 to 999. The default value is 20 seconds. Note: A maximum phrase length of 0 sets the maximum coding time to 45 seconds. Note: Consider telling your callers their time limit in the Announce action step message before the Message Coding action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 370 7 Defining the Transaction Defining Message Coding Phrase Number or Tag The Phrase Number or Tag field determines how the phrase to be coded is specified in the Phrase Identification field. Valid entries are Tag, Phrase Number, or NX field (Talkfile & Phrase). Tag creates a phrase tag into which the recording is placed. The default value is Phrase Number. See Table 32 on page 373 for more information. Phrase Identification The Phrase Identification field specifies the phrase to be coded. Depending on the Phrase Number or Tag field, the Phrase Identification can be: • a phrase tag (limited to a maximum of 50 characters) • a phrase number of -1, or from 1 to 65535 • a field containing the phrase number • a field name containing the combined talkfile and phrase number in NX format If the Phrase Identification is -1, the system assigns the highest available phrase number from the specified talkfile. If you have entered Tag in the Phrase Number or Tag field, the tag does not have to be previously created. You can enter a new one in this field. See Table 32 on page 373 for more information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 371 7 Defining the Transaction Note: Defining Message Coding If the phrase tag is specified, the talkfile is unused because the phrase must be in the primary or secondary speech pool. The Talkfile Number field should contain 0, which the system will interpret as the current talkfile. Talkfile Number The Talkfile Number field defines the talkfile in which the phrase will be stored. Valid entries for this field are numeric constants ranging from -1 to 255. If the Talkfile Number is -1, the system selects a default number of 255. If the Talkfile Number is 0, the system codes a phrase from the current talkfile number (specified by the primary speech pool). If there is no current talkfile and 0 is specified, the system will use the default talkfile number of 255. If the Phrase Number or Tag field is set to NX field (Talkfile & Phrase), the Talkfile Number must be set to 0. The default value is -1. See Table 32 on page 373 for more information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 372 7 Defining the Transaction Defining Message Coding Table 32. How the System Responds to the Phrase Number or Tag, Phrase Identification, and Talkfile Number Fields Phrase Number or Tag Phrase Identification Talkfile Number System Response Phrase Number -1 -1 The system codes the message in the highest available Phrase Number in talkfile 255. Phrase Number -1 0 The system codes the message in the highest available Phrase Number in the current talkfile. Phrase Number -1 1–255 The system codes the message in the highest available Phrase Number in the talkfile specified in the Talkfile Number field. Phrase Number 1–65535 -1 The system codes the message in the phrase specified in the Phrase Identification field in talkfile 255. Phrase Number 1–65535 0 The system codes the message in the phrase specified in the Phrase Identification field in the current talkfile. 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 373 7 Defining the Transaction Defining Message Coding Table 32. How the System Responds to the Phrase Number or Tag, Phrase Identification, and Talkfile Number Fields Phrase Number or Tag Phrase Identification Talkfile Number System Response Phrase Number 1–65535 1–255 The system codes the message in the phrase specified in the Phrase Identification field in the talkfile specified in the Talkfile Number field. Tag A phrase tag -1 This combination is not allowed Tag A phrase tag 0 The system codes the message in the Tag specified in the Phrase Identification field in the current talkfile. Tag A phrase tag 1–255 This combination is not allowed. NX Field (Talkfile & Phrase) A field name 0 No other combinations are allowed. For an NX field, the system codes the message in the specified phrase and talkfile. 2 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 374 7 Defining the Transaction Defining Message Coding Initial Timeout The Initial Timeout field specifies the maximum amount of initial silence time (in seconds) that the system waits to detect speech. Valid entries are numeric constants ranging from 0 to 30. If 0 is specified as the Initial Timeout value, the system waits indefinitely to detect speech from the caller, that is, timeout is turned off. The default is 5 seconds. Note: If no speech is detected within the Initial Timeout interval, the system returns immediately to the transaction with a return value to indicate failure. Completion Timeout The Completion Timeout field specifies the maximum amount of completion silence time (in seconds) that the system waits before completing message coding. Valid entries are numeric constants ranging from 0 to 30 seconds. If 0 is specified as the Completion Timeout value, the system waits indefinitely to terminate, that is, Completion Timeout is turned off. The default is 5 seconds. Note: If a Completion Timeout silence interval occurs once coding has started, coding is terminated successfully at that point and the system returns to the transaction with a return value to indicate a silence completion. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 375 7 Defining the Transaction Defining Message Coding Start Coding At Tone The Start Coding At Tone field specifies whether to prompt the caller with an optional tone before beginning message coding. If Yes is selected, a beep will sound to indicate that message coding has started. If No is selected, no audible prompt will be given to indicate that message coding has started. The default is Yes. Hangup Action The Hangup Action field specifies the action to take if the caller hangs up during the message coding. Valid entries for this field are Exit, Return, or Delete Exit. If Exit is selected and hang up is detected, the coded phrase is saved and the application is terminated. If Return is selected and hang up is detected, the coded phrase is saved and the application returns to the transaction with a return value of -4. If Delete Exit is selected and hang up is detected, the coded phrase is deleted and the application is terminated. The default is Exit. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 376 7 Defining the Transaction Defining Message Coding Actual Phrase Length Field The Actual Phrase Length Field is a field name limited to a maximum of 24 characters that returns the actual length in seconds of the coded phrase. Note that you should specify only a num field type for the Actual Phrase Length Field. NX Field (Talkfile & Phrase) The NX Field (Talkfile & Phrase) is a field name limited to a maximum of 24 characters that returns the combined Talkfile and Phrase Number of the coded phrase. The NX Field (Talkfile & Phrase) value is greater than 65536. Note that you should specify only a num field type for the NX Field (Talkfile & Phrase). Note: The NX Field (Talkfile & Phrase) can be played back using the Announce action step with the NX format and can also be used to delete the phrase in Message Delete. The external function unpack_phrNX will give you the Talkfile and Phrase. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 377 7 Defining the Transaction Defining Message Coding Return Field The Return Field is an optional numeric field that contains a return code from the Message Coding action step. The Return Field is limited to a maximum of 24 characters. Note that you should specify only a num field type for the Return Field. Valid return code values are: • 1: Coding completed normally • 2: Touch-tone termination • 3: Completion timeout • -1: Insufficient space • -2: Code failure • -3: Initial timeout • -4: Hangup Defining the Message Coding Action Step To define the Message Coding action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 378 7 Defining the Transaction Defining Message Coding 2 Select >Msg_Code The system inserts the External Action: Msg _Code action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the External Action: Msg_Code action step in the transaction. 5 Press F4 (Define). The system displays the Define Message Coding screen (Figure 97 on page 380). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 379 7 Defining the Transaction Figure 97. Defining Message Coding Define Message Coding Screen 6 In the Code Rate and Type field, enter or select your choice. 7 In the Maximum Phrase Length field, enter your choice. 8 In the Phrase Number or Tag field, enter or select your choice. 9 In the Phrase Identification field, enter or select your choice. 10 In the Talkfile Number field, enter your choice. 11 In the Initial Timeout field, enter your choice. 12 In the Completion Timeout field, enter your choice. 13 In the Start Coding At Tone field, enter or select your choice. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 380 7 Defining the Transaction Defining Message Coding 14 In the Hangup Action field, enter or select your choice. 15 In the Actual Phrase Length field, enter or select your choice. 16 In the NX Field (Talkfile & Phrase) field, enter or select your choice. 17 In the Return Field field, enter or select your choice of a field name. Use of this field is optional. 18 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Message Coding: Tips After you have defined the Message Coding action step, you may press F7 (Show) to expand the Msg_Code to display the information selected for each field. This example also shows an Evaluate action step on the Return Field. say_address: 50. Announce Speak With Interrupt Phrase: "please say your new address after the tone" 51. External Action: Msg_Code Code_Rate: "ADPCM 32" Max_Phr_Len_Sec: 50 Phrase_Type: "Phrase Number" Phrase_Id: -1 Talkfile_Number: 0 Initial_Timeout: 5 Completion_Timeout: 5 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 381 7 Defining the Transaction Defining Message Coding Tone_On: "Yes" Hangup_Action: "Return" Actual_Phrase_Len_Field: ph_len Talkfile_Phrase_Field: nx_field Return Field: ret End External Action 52. Evaluate If ret = 1 Goto addr_saved # if return code is 1 (normal completion) Elseif ret = 2 Goto addr_saved # if return code is 2 (TT termination) Elseif ret = 3 Goto addr_saved # if return code is 3 (completion timeout) Elseif ret = -3 Goto delete # if return code is -3 (initial timeout) Elseif ret = -4 Goto delete # if return code is -4 (hangup) Else # if return code is none of the above 53. Announce Speak With Interrupt Phrase: "our system is experiencing problems" Phrase: "please call back later, thank you." Goto delete End Evaluate addr_saved: 54. Announce Speak With Interrupt Phrase: "your new address has been saved." Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 382 7 Defining the Transaction Defining Message Deleting 55. Announce Speak With Interrupt Phrase: "the new address you entered was" Field: nx_field As NX delete: 56. External Action: Msg_Delete Phrase_Type: "NX Field (Talkfile & Phrase)" Phrase_Id: nx_field Talkfile_Number: 0 Return Field: rc End External Action Note that the field names and sequence used in the expanded Msg_Code display do not exactly match the field names you used to define the action step, but they are self explanatory. Defining Message Deleting Use the Message Deleting action step to delete a phrase from the system. This is useful when coded messages are being reviewed or transcribed, and then discarded. The message to be deleted will normally be one that was coded using the Message Coding action step. You can also use Message Deleting to make more disc space available by removing any phrase no longer needed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 383 7 Defining the Transaction Defining Message Deleting ! CAUTION: Include the Message Deleting action step in applications that can be accessed only by people with the authority and system knowledge to delete phrases. Be careful not to delete any phrase required by another application. Phrase Number or Tag The Phrase Number or Tag field determines how the phrase to be deleted is specified in the Phrase Identification field. Valid entries are Tag, Phrase Number, or NX field (Talkfile & Phrase). The default is Tag. Phrase Identification The Phrase Identification field specifies the phrase to be deleted. Depending on the phrase type that is specified, the Phrase Identification can be a phrase tag limited to a maximum of 50 characters, a phrase number ranging from 1 to 65535, a field name containing the phrase number, or a field name containing the combined talkfile and phrase number in NX format. If you enter the name of a field containing a combined phrase/talkfile number (returned by the Message Coding action step), the next field (Talkfile Number) will be ignored. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 384 7 Defining the Transaction Note: Defining Message Deleting If the phrase tag or NX field is specified, the talkfile should contain 0 or NULL, which the system interprets as the current talkfile. Talkfile Number The Talkfile Number field defines the talkfile where the coded phrase will be stored. Valid entries for this field are numeric constants ranging from 0 to 255. If the Talkfile Number is 0, the system deletes the phrase from the current talkfile number. The default is 0. Return Field The Return Field is an optional field name for holding the return status of the Message Deleting action step. The Return Field is limited to a maximum of 24 characters. If the Message Deleting instruction is successful, it returns a positive value. If the instruction is unsuccessful, it returns a negative value. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 385 7 Defining the Transaction Defining Message Deleting Defining the Message Deleting Action Step To remove a message or phrase using Message Deleting: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Msg_Delete The system inserts the External Action: Msg _Delete action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the External Action: Msg_Delete action step in the transaction. 5 Press F4 (Define). 6 The system displays the Define Message Deleting window (Figure 98 on page 387). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 386 7 Defining the Transaction Figure 98. Defining Type Ahead Define Message Deleting Window 7 In the Phrase Number or Tag field, enter or select your choice. 8 In the Phrase Identification field, enter or select your choice. 9 In the Talkfile Number field, enter your choice. 10 In the Return Field field, enter or select your choice of a field name. Use of this field is optional. 11 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Defining Type Ahead Use the Type Ahead action step to allow a caller to enter a number of touchtone digits before the prompts are played. The transaction skips the prompts and advances the caller to the appropriate action step, thereby saving time for the caller. You must enable the interrupt feature for any Prompt & Collect Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 387 7 Defining the Transaction Defining Type Ahead action step where you want the caller to be able to type ahead. Enter or select yes in the Speak With Interrupt? field in the Prompt & Collect action steps. Remember also to enable interrupt in an Announce action step if you include one between the Prompt & Collect action steps. The system discards any touch tones entered before an action step with interrupt disabled. If the system detects a caller input error, the error message should be played with interrupt set to no to force the message to be heard. In this case, the caller must be asked to reenter the digits. Use the Type Ahead action step also to disable this feature. To define the Type Ahead action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select >Type_ahead The system inserts the External Action: Type_ahead action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 388 7 Defining the Transaction Defining Type Ahead 4 Highlight the External Action: Type_ahead action step in the transaction. 5 Press F4 (Define). The system displays the Define Type_ahead window (Figure 99 on page 389). Figure 99. Define Type_ahead Window 6 In the Enable Type_ahead field, accept the default value of yes to enable the feature, or change the value to no to disable the feature. 7 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 389 8 Using Optional Features Overview This chapter includes details about how to use optional features with Intuity CONVERSANT Script Builder. Note: The appropriate optional feature package must be installed in order for the action steps to be available. Topics covered include: • Using Text-to-Speech on page 391 • Using Dial Pulse Recognition or Speech Recognition on page 401 • Using Dial Pulse Recognition on page 409 • Using WholeWord Speech Recognition on page 414 • Using FlexWord Speech Recognition on page 422 • Intuity Script Builder FAX Actions Package on page 425 • Using ASAI on page 489 • Defining conv_data on page 525 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 390 8 Using Optional Features • Using Call Classification Analysis on page 535 • Using PRI on page 538 • Using Form Filler Plus on page 547 Using Text-to-Speech Using Text-to-Speech Text-to-Speech (TTS) provides an alternative to using recorded speech in a Script Builder application by taking US English text as input and producing synthesized speech. In other words, you can use TTS to read text and then to speak the text in a digitized voice. You can use the text for prompts or for text retrieval from a file, a database, or a host. TTS is especially useful for speaking dynamic text; that is, text that changes, such as names and addresses stored in a database. You can use TTS in the following areas of your application: • Announce action step • Prompt & Collect action step • tts_file external function Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 391 8 Using Optional Features Using Text-to-Speech Using TTS in an Announce or Prompt & Collect Action Step This section describes how the TTS feature works in both of these action steps. The procedures for how to make the selections to use the TTS feature are described in Defining the Announce Action Step on page 238 and Defining the Prompt & Collect Action Step on page 291 in Chapter 7, Defining the Transaction. Specifying Text or Field For each Announce (Figure 100 on page 393) or Prompt & Collect (Figure 101 on page 394) action step, you can have up to 15 lines (750 characters) of text. You can specify Text or Field in the Type field to use TTS. If you specify Text, you must enter the text to be spoken in the Field Name/Phrase Tag/Text String field. If you specify Field, you must enter or select the name of the field from a host or local database to be spoken as text. The field can be from a host or local database, or from your application. Entering Text The text should be in a sentence or in a format appropriate for the text to be spoken, such as a partial sentence followed by the value in a field. Use correct punctuation and capitalization to help the system determine where to place the emphasis in a sentence, so it will sound more natural to the caller. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 392 8 Using Optional Features Figure 100. Note: Using Text-to-Speech Define Announce Screen The Text-to-Speech feature recognizes and speaks abbreviations. However, it spells out text that is in all capital letters unless it recognizes the text as an abbreviation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 393 8 Using Optional Features Figure 101. Field Format Using Text-to-Speech Define Prompt and Collect Screen The entry in the Field Format field of the screen determines whether the field contents will be spoken using pre-encoded speech or the TTS feature. Choosing a field format that begins with “A” (Figure 102 on page 395) invokes the Text-to-Speech feature. The choices for the Field Format field lists all the available formats including the ones for TTS. If there is a lot of text to be read that does not match another format (such as date, time, dollars, etc), select “A.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 394 8 Using Optional Features Using Text-to-Speech The choices shown below are those most commonly used. Other valid formats you can use for numeric and dollar values are AND0-9 and AN$D0-9. These formats specify from zero to nine places to the right of the decimal point. For example, the numeric value 123456 spoken with the AND4 format is spoken “12.3456.” Figure 102. Choices for Field Format Field, Including Text-to-Speech Formats The TTS field formats function the same as those for recorded speech. Table 33 on page 396 provides a list of formats. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 395 8 Using Optional Features Using Text-to-Speech Table 33. Text-to-Speech Field Formats Field Value Field Format * Spoken As 12345 A “12,345” 12345 AC “one two three four five” 12345 AN “12,345” 12345 AND2 “123.45” 12345 AN$ “:$12,345” 12345 AN$D2 “$123.45” 1234 ATHMAM “12 34 PM” 19970315 ADMDYY “03 15 1997” 19970315 ADMSPDYY “March 15th 1997” * The “A” field format causes the contents of a character field to be spoken by the TTS feature as verbatim text. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 396 8 Using Optional Features Using Text-to-Speech Using TTS in the External Function tts_file When the TTS software is installed, an external function called tts_file is available. The tts_file external function directs the system to speak text from an ASCII file and interfaces with the tts_dip to send the file name and start flag. Use this function to speak text from a file that changes frequently, or a file that is too large to fit in an Announce action step. Specify the tts_file external function (Figure 103 on page 397) the same way as any other external function. The procedure for how to select and define an external function is in Defining External Function on page 255 in Chapter 7, Defining the Transaction. Figure 103. Define External Function Screen with tts_file Selected The tts_file external function uses two arguments: • Argument 1: field is the talkoff flag. Use this to specify whether speech playback will stop (“talkoff”) if a caller enters a touch tone. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 397 8 Using Optional Features Using Text-to-Speech If this is set to “0,” talkoff is disabled (speech playback continues). If this is set to “1,” talkoff is enabled. If talkoff is enabled and a touch-tone digit is received, the system stops playback of the text and returns to the transaction. • Argument 2: field is the file name. Use this to name the file containing the ASCII text to be played. This file should be in the /vs/data/tts_files directory. If the file is not in this directory, you must provide an absolute pathname (for example, /usr/dpd/filename). Upon completion, the tts_file external function returns one of the following values to the field Return Code Is In Field: • 1: Talkoff occurred • 0: Function completed successfully • -1: TSM say instruction failed • -2: Resource needed for say instruction not available • -3: ASCII text file not found • -4: dbase call failed or timed out Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 398 8 Using Optional Features Using Text-to-Speech Text-to-Speech: Tips Use the following tips to improve your Script Builder application: • In general, well-edited text, using punctuation and action verbs, produces the best speech. • Use concise sentences within the Announce and the Prompt & Collect action steps. Avoid lengthy and run-on sentences. • In the Field Name/Phrase Tag/Text String field, the following rules apply: ~ If you enter a space as the first character, you will be able to edit the line. Without the space, you must replace the entire line to change it. ~ Line breaks are insignificant. That is, sentences can go from one line to the next without impacting how the sentence is spoken. ~ A space must be included after the last character on each line. Without the space, each line will be joined with the next. • You may want to insert pauses, or silence, in text to make it sound more natural. TTS allows you to do this by embedding escape characters before, after, or within the spoken text. These escape characters can add silence delays (for example, \!sf50 for a final silence of one-half second), change the speaking rate, and mark text as belonging to a specific category such as addresses, telephone numbers, fractions, and proper names. For detailed information about these escape sequences and other Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 399 8 Using Optional Features Using Text-to-Speech TTS ideas, see Appendix E, “Advanced Text-to-Speech Features,” in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201. You can also insert pauses in text through punctuation. The use of a comma, colon, or period in appropriate places introduces natural pauses in the synthesized voice as well as changes in voice intonation. When speaking database information, a pause could also be introduced by the database lookup itself. For example, “Your Name is...” “Dr. Glenn Tsuromoto. Press 1 for yes, 2 for no.” • Within a Define Announce screen, if more than one field is spoken using TTS, you may want to speak silence (for example, \!sf50 for a final silence of one-half second) between each field to make it sound more natural. If you do not insert silence between the fields, the system can run the phrases together, causing the speech to sound unnatural. • If pre-recorded speech and TTS are mixed within the same action step with talk-off enabled, the speech is treated as a play request. If a touchtone digit is received during playback, the remainder of the speech and/or text in the action step is not spoken. Consecutive action steps containing mixed speech and text with talk-off enabled are not treated as one play request. However, consecutive action steps containing only TTS with talk-off enabled are treated as one play request, meaning that a single touch-tone digit causes the entire group of action steps not to be spoken. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 400 8 Using Optional Features • Using Dial Pulse Recognition or Speech Recognition The first time TTS is used during a call, the system tries to allocate the TTS resource. If the licensed resource is available, the text is spoken and the transaction proceeds normally. After the text is spoken, the resource is relinquished and must be reallocated the next time TTS is used. If the TTS resource is not available, the system tries every 2 seconds (up to the default timeout of 45 seconds) to allocate the TTS resource. At the end of this time period, if the system is not able to allocate the resource, a -2 is returned in register 0. This approach allows the system to degrade gracefully and, in most cases, eliminates the need to do error checking at the Script Builder level for the TTS resource allocation. For those applications that must have error control, external functions can be written and accessed through Script Builder that give their script access to both r.0 and the nwitime() instruction. The nwitime instruction would be used to set the wait time before text is spoken for the first time to a value less than 45 seconds. A second external function would check the contents of r.0. See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for more information about the nwitime() instruction. Using Dial Pulse Recognition or Speech Recognition Dial Pulse Recognition (DPR) and speech recognition, which includes WholeWord speech recognition and FlexWord speech recognition, use resources on the SSP circuit card to compare caller inputs to the recognizer Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 401 8 Using Optional Features Using Dial Pulse Recognition or Speech Recognition type selected on page 2 of each Prompt & Collect action. If a match is found, the system identifies a valid input. This section provides information common to all three of these recognizers. For information about how to use DPR and speech recognition in your application script, see Intuity CONVERSANT System Version 6.0 Application Design Guidelines, 585-310-670, and Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201. Defining the SP_Allocate External Action The script uses the SP_Allocate external action to help ensure that the DPR or speech recognition system licensed resource is available when it is needed. Normally, this resource is shared between the transactions running on separate channels. It is allocated and unallocated automatically at each point where DPR or speech recognition is used during the transaction. The SP_Allocate external action can be used before any Prompt & Collect actions to check the availability of the recognition resource. It can also be used to allocate explicitly the resource to the transaction until the transaction terminates or explicitly to unallocate the resource. If the recognition resource is not available, a Prompt & Collect action step employing recognition will fail with the message Too few digits. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 402 8 Using Optional Features Note: Using Dial Pulse Recognition or Speech Recognition Design each application so that it will free the recognition resource as soon as it is no longer needed by the script. SP_Allocate can tie up the resource when it is being used after it is no longer needed. To define the SP_Allocate external action: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select: > SP_Allocate The system inserts the SP_Allocate action step in the transaction. 3 Highlight the SP_Allocate action step. 4 Press F4 (Define). The system displays the Define SP Allocate screen (Figure 104 on page 404). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 403 8 Using Optional Features Figure 104. Using Dial Pulse Recognition or Speech Recognition Define SP_Allocate Screen 5 In the Recognizer_Allocation: field, select on to enable Speech Recognizer Allocation. Select off to disable Speech Recognizer Allocation. The default value is on. 6 In the Recognizer: fields, select DPR, WW, or FW. You can be select them separately or simultaneously. 7 In the Return Field:, specify the field in which an optional return code will be placed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 404 8 Using Optional Features Using Dial Pulse Recognition or Speech Recognition The system sets the return field to one of the values in Table 34 on page 405 depending on the status of the SP_Allocate: Table 34. SP_Allocate Return Values 0 Success -1 Failure (reason unspecified) -2 System resources not available 8 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Prompt & Collect Action Step This section describes how use DPR and speech recognition in a Prompt & Collect action step. The procedure for how to make the selections are described in Defining the Prompt & Collect Action Step on page 291 in Chapter 7, Defining the Transaction. Specifying Input Mode The default input mode is touch tone, which is always available. When DPR, WholeWord speech recognition, or FlexWord speech recognition software is installed, the system displays new options in the Define Prompt and Collect INPUT screen (Figure 105 on page 406). The Recognition_Type: field now Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 405 8 Using Optional Features Using Dial Pulse Recognition or Speech Recognition accepts a value to specify a recognition type for the active recognizer(s). This is a dynamic menu, which displays all recognition types and wordlists available on your system, regardless of whether you are planning to use them in the current application. Figure 105. Define Prompt and Collect –INPUT Screen Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 406 8 Using Optional Features Specifying the Confirm Action Using Dial Pulse Recognition or Speech Recognition Using the Define Prompt and Collect–CHECKLIST screen, you can direct DPR and WholeWord speech recognition applications to prompt callers to confirm that the system recognized what was spoken or entered. The Confirm action is one of the choices in the Action field. You can specify a single touch-tone digit or a DPR digit as an optional argument in the Action Data field. This optional argument is in addition to the default “yes” in the WholeWord language used for the selected Recognition Type. An argument in the Action Data field is required if you want to confirm touch-tone or DPR input. The Confirm action has an associated Voice Response screen that the system plays to the caller before the confirmation. This screen is used to play back caller input and to ask the caller to confirm her/his input by saying “yes” or by entering a touch-tone or DPR digit. The Confirm action, which has an optional touch-tone or dial pulse confirmation digit associated with it, can be used in one of two ways: • If you want to require the caller to confirm the input, whether it was spoken or entered with touch tones or dial pulses, specify a touch-tone or dial-pulse digit for the confirmation digit. The input will be accepted if the user says “yes” or enters the specified digit. • If you want to require the caller to confirm the input only if it was spoken, leave the confirmation digit blank. In this case, the prompt and the Confirm action are performed only if the caller speaks the input. The Confirm action will require a spoken “yes” before the input is accepted. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 407 8 Using Optional Features Using Dial Pulse Recognition or Speech Recognition If the caller says “yes” or enters a touch-tone or dial-pulse digit that matches the optional argument, the system continues to the next action step in the transaction. If the caller says “no” or enters a touch-tone or dial-pulse digit that does not match the optional argument, the system reprompts the caller for the input. If you do not specify an optional argument, when the caller enters a touch tone or dial pulse, the script treats the Confirm action as a Continue. $CI_MODE Return Value The system sets the $CI_MODE variable to the SSP circuit card number that was used to perform the DPR or speech recognition. An integer value of 0 or greater identifies the SSP circuit card. A value of -1 is returned if touch tone input is received. $CI_RECOG Return The system sets the $CI_RECOG variable to the recognizer that performed Value the recognition. The return field is set to one of the values in Table 35 on page 408 depending on the first successful recognition. Table 35. $CI_RECOG Return Values 0 User entered touch tone 1 FLEX_WORD 2 WHOLE_WORD 3 DIALPULSE Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 408 8 Using Optional Features $FINDBEST Using Dial Pulse Recognition Specify a value for the $FINDBEST variable where you want to improve recognition accuracy by using the recog_dip in applications that use DPR or speech recognition. Use the Set Field Value action step to define $FINDBEST (up to 67 characters) before the Prompt & Collect action step. See Appendix F, “Recognition Post-Processing,” in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201, for more information about $FINDBEST and recog_dip. Using Dial Pulse Recognition The Dial Pulse Recognition (DPR) feature allows users with rotary telephones or push-button telephones that generate dial pulses, to interact with system applications. DPR is not as accurate as touch-tone inputs, but it does allow callers to provide input to your application without talking with an agent. The system trains itself to learn how the caller’s telephone performs during the connection. To improve accuracy, wherever possible, ask for inputs that are separated by three numbers (for example, ask for 8 for “yes” and 5 for “no”). The prompt message should encourage the caller to listen to the entire message before responding. DPR does not allow the caller to interrupt the prompt message. DPR allows callers to enter a sequence of connected digits, rather than one at a time. DPR can be used in an application with WholeWord or FlexWord speech recognition, allowing your callers a choice of input method. For more information about how to use DPR in your Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 409 8 Using Optional Features Using Dial Pulse Recognition application, see Intuity CONVERSANT System Version 6.0 Application Design Guidelines, 585-310-670, and Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201. Specifying Input Mode When DPR software is installed, the system displays new options in the Define Prompt and Collect INPUT screen (Figure 105 on page 406). The Recognition_Type: field now accepts a value to specify a recognition type for the active recognizer(s). Recognition Type The Recognition_Type: field accepts a value to specify a DPR recognition type (Figure 106 on page 411). This is a dynamic menu, which displays all recognition types available on your system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 410 8 Using Optional Features Figure 106. Using Dial Pulse Recognition Define Prompt and Collect INPUT–Choices for Recognition Type Field for DPR Min and Max Number of Digits The Min and Max Number 0f Digits fields limit the length of caller input (touch tone or dialed) that can be recognized by the system. Script Builder validates the Min and Max Number 0f Digits fields and replaces invalid selections with numbers that are valid for the recognition type selected. Note: By setting the Min and Max Number 0f Digits fields to values greater than 1, you can collect numbers that include more than one digit. For example, to collect the digit 5, the Min/Max would each be set to 1. To collect the number 614, the Min/Max would each be set to 3, since there are three digits in this target number. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 411 8 Using Optional Features Using Dial Pulse Recognition $CI_VALUE The $CI_VALUE variable (up to 67 characters in length) indicates the digits recognized by the system. You can use this value to tell a caller what the system received. Training To improve DPR accuracy, the system uses a method called training to learn how to listen to the telephone and network connection for each call. Training is automatically used for each DPR caller on the first input of 5 or higher, then it is automatically turned off. It is a good idea to tell your callers to dial 9, followed by the information you need. Requesting this extra digit is necessary only on the first Prompt & Collect action step. You can also turn the training on again during your application if you need to by using the external function DprReset. This would be necessary only if your application makes calls to customers. Verifying DPR Input It could be important to verify a DPR input from a caller. You can increase accuracy by asking for inputs that are 3 numbers apart, for example 2, 5, and 8. For yes/no inputs, ask for 8 for “yes” and 5 for “no.” Avoid asking for 1 as an input for yes/no. The Confirm action in the Define Prompt and Collect CHECKLIST works only if a WholeWord speech recognition or DPR package is installed. For DPR, you can customize the Confirm action by specifying the desired response in the Action Data field, or write a separate Prompt & Collect action step to verify the caller’s input. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 412 8 Using Optional Features Defining the DPR_Disable External Action Using Dial Pulse Recognition If your caller enters a touch tone (DTMF input), you can disable the DPR recognizer, which would make resources available on the SSP circuit card and avoid any erroneous recognitions by the DPR recognizer. Touch-tone input will be shown as a return value of 0 in $CI_RECOG and as a negative number in $CI_MODE. You can use an Evaluate action step to determine if a touch tone has been received. Use the external action DPR_Disable (Figure 107 on page 413) to disable or to enable the DPR recognizer. Note: There is no separate function to enable DPR, so you enable the DPR recognizer by selecting enable in the Dial Pulse Recognizer: field in the Define DPR_Disable screen. Figure 107. Define DPR_Disable Screen In the Return Field:, specify the field in which an optional return code will be placed. The system sets the return field to one of the values in Table 36 on page 414 depending on the status of the DPR_Disable: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 413 8 Using Optional Features Using WholeWord Speech Recognition Table 36. DPR_Disable Return Values 0 Success -1 Failure (reason unspecified) -2 System resources not available Using WholeWord Speech Recognition WholeWord speech recognition allows the system to understand the words “yes” and “no,” and the digits zero through nine (and language-specific synonyms). It can be used • In an application transaction • Through the external action SR_Prompt for WholeWord speech recognition For more information about how to use WholeWord speech recognition in your application, see Intuity CONVERSANT System Version 6.0 Application Design Guidelines, 585-310-670, and Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 414 8 Using Optional Features Using WholeWord Speech Recognition Languages Available Languages l supported for WholeWord recognition include: • Australian English • Brazilian Portuguese • Canadian French • Castilian Spanish • Dutch • French • German • Japanese • Latin-American Spanish • UK English • US English Your Intuity CONVERSANT system can support up to two different WholeWord speech recognition packages on a single system. This allows your system to understand callers who respond in either language you make available. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 415 8 Using Optional Features Using WholeWord Speech Recognition Specifying Input Mode When WholeWord speech recognition software is installed, the system displays new options in the Define Prompt and Collect INPUT screen (Figure 105 on page 406). The Recognition_Type: field now accepts a value to specify a recognition type for the active recognizer(s). Recognition Type The Recognition_Type: field accepts a value to specify a WholeWord recognition type (Figure 108 on page 417). This is a dynamic menu, which displays all recognition types available on your system. Note that WholeWord recognition types and FlexWord wordlists will be listed. Select a WholeWord recognition type. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 416 8 Using Optional Features Figure 108. Using WholeWord Speech Recognition Define Prompt and Collect INPUT–Choices for Recognition Type Field for SR Min and Max Number of Digits The Min and Max Number 0f Digits fields limit the length of caller input (touch tone or spoken) that the system can recognize. Script Builder validates the fields and replaces invalid selections with numbers that are valid for the recognition type selected. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 417 8 Using Optional Features Note: $CI_VALUE Return Value Using WholeWord Speech Recognition By setting the Min and Max Number 0f Digits fields to values greater than 1, you can collect numbers that include more than one digit. For example, to collect the digit 5, the Min/Max would each be set to 1. To collect the number 614, the Min/Max would each be set to 3, since there are three digits in this target number. The $CI_VALUE variable (up to 67 characters in length) indicates the digit or word recognized by the system. For each recognized digit or word, the $CI_VALUE will include the digit, or Y or N. See Chapter 4, “Recognizing WholeWord Speech Input,” in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201, for the digits and synonyms that are recognized in each language. The value “?” (an unrecognized input) can be returned as valid input in $CI_VALUE within the Prompt & Collect Standard Checklist. This return value indicates that speech energy is present but cannot be interpreted. The recommended action is to check the validity of the $CI_VALUE by using an Evaluate action step following the Prompt & Collect action step. If a “?” occurs as the return value, you can specify the appropriate action you want the script to take, such as reprompting the caller for input. Note: In the Prompt & Collect Custom Checklist, the return code “?” is classified in the Not on List category. Use the Custom Checklist to specify the action to take in this case. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 418 8 Using Optional Features Using WholeWord Speech Recognition If insufficient energy is received, an empty string, “ “, will be returned. In the Standard Checklist, this is classified in the Initial timeout category. You can use an Evaluate action step following the Prompt & Collect action step if you want to specify a different script action for an empty string input. Verifying It could be important to verify a WholeWord speech recognition input from a WholeWord Speech caller. The Confirm action in the Define Prompt and Collect CHECKLIST Recognition Input works only if a WholeWord speech recognition or DPR package is installed. See Specifying the Confirm Action on page 407 above, or Chapter 7, Defining the Transaction. Defining the SR_Prompt External Action The SR_Prompt external action allows a caller to interrupt voice playback with speech input. Barge-in, also known as recognize during prompt, operates much like the talkoff feature for touch-tone input. When SR_Prompt is enabled, those prompts specifying yes for Speak with interrupt? for all Prompt & Collect action steps are stopped as soon as the system recognizes enough valid speech input. Prompts that specify no for Speak with interrupt? are not affected by this action. If you want to use barge-in, put the SR_Prompt action in your script right after Answer Phone. In addition, when using the Call Bridge action, the script should disable the Speak with interrupt? feature before the bridge and enable it once the bridge is established. This allows the system to adapt to the specific characteristics of the new connection. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 419 8 Using Optional Features Note: Using WholeWord Speech Recognition SR_Prompt should be turned off and on throughout the application only when using a Call Bridge action step. Otherwise, WholeWord speech recognition accuracy at a barge-in prompt is negatively influenced. Follow the procedure below to select the SR_Prompt external action: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 62 on page 221). 2 Select: > SR_Prompt The system inserts the SR_Prompt action step in the transaction. 3 Highlight the SR_Prompt action step. 4 Press F4 (Define). The system displays the Define SR Prompt screen (Figure 109 on page 421). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 420 8 Using Optional Features Using WholeWord Speech Recognition Figure 109. Define SR_Prompt Screen 5 In the Recognize During Prompt: field, select yes to enable the feature. Select no to disable the feature. The default value is yes. 6 In the Return Field:, specify the field in which an optional return code will be placed. The system sets the return field to one of the values in Table 37 on page 421 depending on the status of the SR_Prompt: Table 37. SR_Prompt Return Values 0 Success -1 Failure (reason unspecified) -2 System resources not available 7 Press F3 (Close) to complete the definition and return to the Define Transaction screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 421 8 Using Optional Features Using FlexWord Speech Recognition Using FlexWord Speech Recognition FlexWord speech recognition allows the system to understand words in custom wordlists that you determine are needed for your application. For more information about how to use FlexWord speech recognition in your application, see Intuity CONVERSANT System Version 6.0 Application Design Guidelines, 585-310-670, and Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201. Languages Supported FlexWord speech recognition is available in the following languages (select one per system): • French • German • Japanese • Latin-American Spanish • US English Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 422 8 Using Optional Features Using FlexWord Speech Recognition Specifying Input Mode When FlexWord Speech Recognition software is installed, the system displays new options in the Define Prompt and Collect INPUT screen (Figure 105 on page 406). The Recognition_Type: field now accepts a value to specify a recognition type for the active recognizer(s). Recognition Type The Recognition_Type: field accepts a value to specify a FlexWord speech recognition wordlist name tag (Figure 110 on page 424). Wordlist name tags are in all capital letters and are 1–14 characters in length. This is a dynamic menu, which displays all recognition types available on your system. Note that both FlexWord wordlists and WholeWord recognition types will be listed. Select a FlexWord wordlist. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 423 8 Using Optional Features Figure 110. Using FlexWord Speech Recognition Define Prompt and Collect INPUT – Choices for Recognition Type Field for SR Min and Max Number of Digits The Min and Max Number 0f Digits fields limit the length of caller input. Script Builder validates the selected numbers for the speech recognition type selected. The Min for all FlexWord wordlists is 1 and the Max is 64. If you set the Max at less than 64, you risk cutting off some of the data returned to the script from the recognizer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 424 8 Using Optional Features Intuity Script Builder FAX Actions Package $CI_VALUE Return Value The $CI_VALUE variable (up to 67 characters in length) indicates the word recognized by the system. For example, if the caller inputs the recognized word “savings,” and the Max Number 0f Digits: field is set to a value equal to or greater than 7, the return value will be “savings.” However, if the Max Number 0f Digits: field is set to 3 and a caller inputs the recognized word “savings,” the return value is “sav”— only the first three letters. Verifying FlexWord Input The Confirm action works only if a WholeWord speech recognition or DPR package is installed. For FlexWord speech recognition, you can write a separate Prompt & Collect action step to verify the caller’s input. See Defining Prompt & Collect on page 273 in Chapter 7, Defining the Transaction. Intuity Script Builder FAX Actions Package The Intuity Script Builder FAX Actions can be incorporated quickly into any Script Builder application. The Script Builder FAX Actions package allows you to: • Develop applications that send faxes to callers or receive faxes from callers quickly and easily. • Integrate fax capabilities into existing Intuity CONVERSANT system applications. • Transmit a stored graphic image to the caller. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 425 8 Using Optional Features Intuity Script Builder FAX Actions Package • Transmit dynamically created text information to the caller. • Attach a customized cover page to the fax information requested by the caller. • Transmit multiple faxes to callers. • Automatically retry numbers if the called fax machine is busy. • Transmit faxes when toll rates are lower, for example, after 5 p.m. • Support both Tip/Ring and E1/T1 callers. • Support international callers and dialing through restricted trunks that require the entry of special codes in addition to a normal dialing string. Requirements to Use the Intuity Script Builder FAX Actions Package The Intuity Script Builder FAX Actions package consists of the Script Builder actions that provide fax functionality and the runtime environment necessary to support applications that use the actions. To use the Intuity Script Builder FAX Actions package, you require: • A functional Intuity CONVERSANT system Version 7.0 system • Script Builder Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 426 8 Using Optional Features Fax File Formats Intuity Script Builder FAX Actions Package • Intuity CONVERSANT FAX Set, which includes the Script Builder FAX Actions for Lucent Technologies Cards • Either a speech and signal processing (SSP) card or a Tip/Ring card Files to be faxed on the Intuity CONVERSANT system must be either text files in ASCII text format or fax files in Tag Image File Format (TIFF) Class F. Conversion Tools You may require a tool to convert files in other formats to fax files. For information on installing and using the tif2itf.exe and tif2itif conversion tools provided with the Intuity CONVERSANT system see Appendix C, "Format Conversion Tools for Fax Files," in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. How Intuity Script Builder FAX Actions Works The action steps that come with Intuity Script Builder FAX Actions work like any other Script Builder action steps that appear in the Action Choices menu. Use the action steps to incorporate fax functionality into your Intuity CONVERSANT system application. Use the Intuity Script Builder FAX Actions administrative screens to load and print the graphical images your application transmits to the caller. Text files can be created in advance or in real time based upon caller input, and then faxed to the caller. Faxes can be received from callers and placed into any directory your application specifies. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 427 8 Using Optional Features Intuity Script Builder FAX Actions Package Architectural Components Figure 111 on page 430 shows the following architectural components that make Script Builder FAX Actions work: • Telephone — Callers can dial into the system using a telephone. • Fax machine — This is where the requested faxes are delivered. • Global communications network — This is where the communications infrastructure that connects the caller to the called Intuity CONVERSANT system. • PBX or switch— This typically provides the front-end to the Intuity CONVERSANT system. This is not strictly required to use Intuity Script Builder FAX Actions. • Tip/Ring or E1/T1 circuit card — This provides voice functionality that supports the caller’s interaction with the system. • Application layer — Includes: ~ Tip/Ring or E1/T1 circuit card: This provides voice functionality that supports the caller’s interaction with the system. ~ Script Builder: An Intuity CONVERSANT application development tool ~ FAX Actions: The action steps to incorporate fax functionality into the application Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 428 8 Using Optional Features Intuity Script Builder FAX Actions Package ~ Script Builder fax-enabled script: The actual voice response application, built using the FAX actions, that controls the interaction with the caller ~ TSM: A system process that gets the FAX actions from the script and passes it to sbFaxProc ~ sbFaxProc: The process that executes the FAX actions • Platform layer — Includes all the fax processes, IRAPI and the softFAX API, fax utilities, and an administrative interface. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 429 8 Using Optional Features Intuity Script Builder FAX Actions Package Figure 111. Telephone Script Builder FAX Actions Architecture FAX machine Application layer Voice circuit card Global communications network Script Builder FAX actions (Tip ring or E1/T1) SB FAX enabled script TSM PBX sbFaxProc Extension 1000 Platform layer FAX processes (faxdaemon, sfpip, ivc6di, fax_mon, SFlineDB, etc.) IRAPI softFAX API FAX utilities Administrative interface iocvsbfx KLC 033098 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 430 8 Using Optional Features Intuity Script Builder FAX Actions Package Some Uses for Intuity Script Builder FAX Actions in Your Applications The following list suggests how to use Script Builder FAX Actions in various applications. Figure 112. Examples of Uses for Script Builder FAX Actions Example Description Company brochures Callers interact with an application to request product brochures by fax transmission. The product brochures can be sent immediately or at a later time when the telephone rates are lower. They can also be sent on the current call if the caller is calling from a fax machine. Bank account records Callers enter an account number and then receive a fax of that account status including a list of the last 20 checks that were cleared through the account. Callers can fax their loan application into the system. Real estate information Prospective home buyers notice a sign in the front yard of a house they are interested in purchasing. They call the number on the sign, enter the house identification code, then receive a fax of the house data sheet including a floor plan, asking price, and the name of the real estate agent. 1 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 431 8 Using Optional Features Intuity Script Builder FAX Actions Package Figure 112. Examples of Uses for Script Builder FAX Actions Example Description Company savings plan records Employees call the automated administrator of their company savings plan and request the most current account statement. They can then get their latest account statements immediately via fax, instead of waiting until the next quarterly statement. Medical records Physicians call a single telephone number and listen via textto-speech (TTS) to up-to-date patient records supplied by the hospital, pharmacy, or laboratory. They can then have the medical records faxed to them in their automobile or office. Customer service information Customers call an application that allows them to receive faxes about product/system maintenance issues and the resolutions to those issues. They can listen to the issue resolutions via audiotext or TTS or can request a fax of the issue resolution. If they want immediate attention, they can transfer to a customer service agent. Travel and airline reservations An airline or travel agency offers customers the option of receiving a fax of all flights that are consistent with their travel needs. Once a reservation is made, the customer can receive a faxed confirmation of the travel arrangement. 2 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 432 8 Using Optional Features Intuity Script Builder FAX Actions Package Figure 112. Examples of Uses for Script Builder FAX Actions Example Description Hotel/confer ence services A hotel simultaneously hosting two industry conferences can provide an automated service to organizers of both conferences. These services allow conference attendees to automatically register and pay for the conference, receive a fax of their confirmed reservation, and receive a fax of a map that provides instructions on how to get to the hotel. The service also allows attendees to hear conference agendas and descriptions of technical sessions, receive faxes about both conferences, register for technical tutorials, receive a faxed registration confirmation, and listen to a replay of the conference keynote speech which is automatically added to their room charge. Tax form distribution Corporate and individual tax payers call into an application that allows them to retrieve tax forms and directions for their use. Callers can also leave their completed tax form on the system. 3 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 433 8 Using Optional Features Intuity Script Builder FAX Actions Package Figure 112. Examples of Uses for Script Builder FAX Actions Example Description Callers queued in ACD Callers who reach a service bureau are placed in an automatic call distributor (ACD) queue awaiting the availability of an organization representative. While in the ACD, callers listen to information about new products and services and can elect to receive information about these products and services via fax. News/wire service Subscribers to a newspapers, other publications, and wire service can receive late-breaking news reports via fax by dialing a voice-response application. Brokerage services A brokerage house offers its callers a voice-response service that allows the caller to buy and sell stocks and bonds. The caller receives a fax confirming the transaction. Shipping Shipping company customers dial a voice-response application and request a fax with the latest status information about their shipping job and/or a duplicate of their bill of lading. Order entry/verific ation A manufacturer’s representative contacts a supplier via the supplier’s voice-response application and requests several spare parts. The representative receives a fax with the order confirmation. 4 of 4 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 434 8 Using Optional Features Intuity Script Builder FAX Actions Package Accessing the FAX Actions on the Script Builder Action Choices Menu The Action Choices menu of Script Builder contains all the Script Builder action steps available on your system. For example: • Answer Phone, for answering the telephone and beginning the application • Announce, for playing a voice announcement to the caller • Prompt & Collect, for requesting caller input When you install the Intuity Script Builder FAX Actions on a system, the following additional action steps appear in the Script Builder Action Choices menu (Figure 113 on page 436): • FAX_Send • FAX_Get • FAX_CovrPage • FAX_Queue • Exec_UNIX • Concat5 • FAX_CNG You can use the action steps provided by the Intuity Script Builder FAX Actions package like any other action steps in any Script Builder application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 435 8 Using Optional Features Figure 113. Intuity Script Builder FAX Actions Package Script Builder Action Choices Menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 436 8 Using Optional Features Intuity Script Builder FAX Actions Package FAX_Send The FAX_Send action sends faxes that were previously queued using the FAX_Queue action. If the transmission fails, it will be retried until it is successfully transmitted or until the specified number of retry attempts is reached. FAX_Send: How to Use It Use the following procedure to define the FAX_Send action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > FAX_Send The system inserts the FAX_Send action step in the transaction. 3 Press F6 (Cancel) to exit the Action Choices menu. 4 Highlight the FAX_Send action step. 5 Press F4 (Define). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 437 8 Using Optional Features Intuity Script Builder FAX Actions Package 6 The system displays the Define FAX_Send screen (Figure 114 on page 438). Figure 114. FAX_Send: Arguments Define FAX_Send Screen The FAX_Send action step has seven arguments: • FAX Delivery Number: Enter the telephone number to which the fax will be delivered or CURRENT if the fax is to be sent on the current call. The telephone number can be entered by the caller or obtained from a database or host. Note: A total of 32 characters can be entered for transmission on either the Tip/Ring circuit card (analog) or the E1/T1 circuit card (digital). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 438 8 Using Optional Features Intuity Script Builder FAX Actions Package Valid entries are: ~ The entry CURRENT If the field is sent to CURRENT, the entries in FAX Delivery Time, FAX Retry Interval, and FAX Retry Count are ignored. ~ The name of a field that contains a string constant ~ A string constant enclosed in quotes, for example, “9-6145551212” The following characters can be used in the FAX Delivery Number: field: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, asterisk (*), pound sign (#), comma (,), and dash (-). Note: • Using a comma (,) causes a 1-second pause during dialing on lines in all equipment groups, both digital (T1) and analog (Tip/Ring). For longer pauses, multiple commas can be used. • For lines in analog equipment groups, using a dash (-) causes a short (0.1-second) pause during dialing. The dash (-) cannot be used on digital (T1) lines. The pauses are useful in situations where a delay is required in the dial string, for example, when dialing out through a restricted trunk that requires a pause before input of a PIN (personal identification) number. For example, the following entry includes a 6-second delay between the dial string and the 5-digit PIN (12345): "9-6145551212 , , , , , , 12345" Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 439 8 Using Optional Features • Intuity Script Builder FAX Actions Package FAX Delivery Time: Enter the time the out-of-call (as opposed to the current call) fax should be delivered. Specify a 2-digit hour (hh) and a 2-digit minute (mm) in the format “hhmm” using a 24-hour clock, or use the string “immediate”. All values must be contained in quotes. If the fax does not require immediate delivery, specify a time outside normal business hours to reduce transmission costs. This field does not apply to current call deliveries. • FAX Retry Interval: Enter the interval (in minutes) between fax retries for a fax whose delivery has been attempted but has failed. This field does not apply to current call deliveries. • FAX Retry Count: Enter the number of times the fax delivery should be retried in the case of a failure. This field does not apply to current call deliveries. • TSI String: This field is the user definable “Transmitting Subscriber Identification” for Group 3 faxes. This contents of this field is printed at the top of each received page with the page number, date sent, etc. Use this field to specify the sender’s fax telephone number, company name, or other numeric string. The string is also displayed on the receiving fax machine’s LED screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 440 8 Using Optional Features • Intuity Script Builder FAX Actions Package Equipment Group: Enter the equipment group number to use for this action. You can dedicate selected channels to be used by the FAX_Send action. If this field is blank, the system chooses any fax capable channel from which to send the fax. This field does not apply to current call deliveries. See “Configuration Management” in Chapter 3, “Voice System Administration,” of Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for procedures on how to administer the equipment groups. • Return Field: This field contains the result status of the FAX_Send action. A negative value indicates that a problem was encountered, and that the caller will not receive the fax requested. Check the return value and inform the caller of this fact. See "Repairing Script Builder FAX Actions Troubles" in Chapter 1, "Troubleshooting," in Intuity CONVERSANT System Version 7.0 System Reference, 585-313-2, for possible return codes and their explanations. Also see the help file in /vs/bin/ag/help. For non-CURRENT deliveries, a positive return value is the numeric portion (the characters after the dash) of the job ID associated with the fax transmission. View the job ID in the FAX Transmission Control window while the fax is still in the transmission queue, or in the faxrpt command output after the transmission has completed or on the FAX Report screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 441 8 Using Optional Features FAX_Send: Tips Intuity Script Builder FAX Actions Package • Check the return value. If it is an unexpected value, perform some retry function or inform the caller that the fax could not be sent. • Instruct the caller to “Press start on your fax machine now” before executing FAX_Send with the “CURRENT” option. • Speak the Job ID back to callers so that they can keep this number for their records. Then if they do not receive the fax, you can determine what happened by looking for the job ID in the FAX Transmission Control window or faxlog command output. • Use the Concat5 action step to attach a trunk access code (TAC) to the FAX Delivery Number entered by the caller if your PBX supports this feature. This allows you to control which trunk is used to transmit the fax. • Use the Concat5 action step to attach an account code to the FAX Delivery Number entered by the caller if your PBX supports this feature. This allows you to control which account pays for the fax transmission. • Part of the function of this action step is to convert any text files sent into a format suitable for fax transmission. The larger the text file you are transmitting, the longer it takes to convert the file into the proper format and the longer it takes to complete this action step. Avoid sending large text files. Ask the caller to “Please wait” if this is unavoidable. Test the application to determine whether delays are noticeable. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 442 8 Using Optional Features Intuity Script Builder FAX Actions Package The default text-to-fax conversion indents text 1 inch from the left of the page and accepts up to 72 characters per line (excess characters are wrapped to the next line) and 48 lines per page. Use the text2fax external function if yor need to convert text files that reuire 80 or 120 chacters per line and 66 lines per page. See Fax Functions on page 734 in Chapter 11, Using Advanced Featuresfor more information on text2fax. FAX_Send: Example • There are no delays when sending faxes loaded into the FAX Loading and Printing screen since no file conversion is needed. • To send multiple text files to the caller, order them one after another in a single file using the cat command in an Exec_UNIX action step. Then use the FAX_Send action step to transmit the file to the caller. • Once the FAX_Send action step successfully completes, you can safely remove any temporary fax files sent. They are copied into the transmission queue and are no longer needed. • To send multiple faxes, use the FAX_Queue action step for each fax, then the FAX_Send action step as the final step. Figure 115 on page 444 shows an example of how to define a FAX_Send action step. See FAX_Zapper on page 472 below for a second example. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 443 8 Using Optional Features Figure 115. Intuity Script Builder FAX Actions Package Example of Defining FAX_Send FAX_Get The FAX_Get action step directs the system to receive on the current call a fax from the caller and to place it into the specified directory and file. This action step can be used to receive a fax from the caller on the current call, that is, from the fax machine from which the caller is calling. This action step receives a fax into the system from the caller. Once received from the caller, the fax is stored in the file specified by the application developer. FAX_Get: How to Use It The following summarizes the recommended sequence for using the FAX_Get action step in a transaction: 1 Execute FAX_Get. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 444 8 Using Optional Features Intuity Script Builder FAX Actions Package 2 If the FAX_Get action step returns successfully, ask the caller to “Please press start on your fax machine now.” To define the FAX_Get action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select > FAX_Get The system inserts the FAX_Get action step in the transaction. 3 Highlight the FAX_Get action step. 4 Press F4 (Define). The system displays the Define FAX_Get screen (Figure 116 on page 446). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 445 8 Using Optional Features Figure 116. FAX_Get: Arguments FAX_Get: Tips Intuity Script Builder FAX Actions Package Define FAX_Get Screen The FAX_Get action step has the following arguments: • FAX File: Enter the field where the fax received by the system will be stored. Remember to include the quotation marks when specifying FAX File. If character fields are used for FAX File, you must include the quotation marks when you set the field value. You do not need to enter quotation marks into local data base fields, however. • Return Value: A negative value indicates that a problem was encountered, and the caller’s fax might not be received by the system. See "Repairing Script Builder FAX Actions Troubles" in Chapter 1, "Troubleshooting," in Intuity CONVERSANT System Version 7.0 System Reference, 585-313-205, for possible return codes and their explanations. Also see the help file in /vs/bin/ag/help. • Check the return value. If it is an unexpected value, perform some retry function or alert the caller that the system is unable to accept the fax. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 446 8 Using Optional Features FAX_Get: Example Intuity Script Builder FAX Actions Package Figure 117 on page 447 shows an example of how to define the FAX_Get action step. Figure 117. Example of Defining FAX_Get FAX_CovrPage The FAX_CovrPage action step directs the system to merge two files into a single fax file. This action step is used for joining graphic images with text information. By doing this, you can create customized cover pages with letterhead and/or graphics and logos combined with the text address of the intended recipient. You can use the Exec_UNIX action step to create the text portion of the cover sheet. Once created, the cover page is automatically queued and is delivered with the next FAX_Send action. FAX_CovrPage: Arguments Figure 118 shows the Define FAX_CovrPage screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 447 8 Using Optional Features Figure 118. Intuity Script Builder FAX Actions Package Define FAX_CovrPage Screen The FAX_CovrPage action step has three arguments: • Background File: Specifies the file you want to use as the background for the merged file. This is a required field. The background file must be in TIFF Class F format. You can use faxes entered in the FAX Loading and Printing form (see Loading and Printing FAXes on page 464). Valid entries are: ~ Full pathnames of text or fax files ~ FAX IDs, for example, “fax1” ~ Fields containing full pathnames of text files, fax files, or FAX IDs Note: • Remember to include the quotation marks when entering the Background File. Foreground file: Specifies the file you want to use as the foreground (front) for merged file. This is a required field. This field follows the same rules as Background File. The foreground file must be ASCII text format. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 448 8 Using Optional Features FAX_CovrPage: Tips FAX_CovrPage: Example Intuity Script Builder FAX Actions Package • Return Value: A negative value indicates that an error has occurred. See "Repairing Script Builder FAX Actions Troubles" in Chapter 1, "Troubleshooting," in Intuity CONVERSANT System Version 7.0 System Reference, 585-313-205, for possible return codes and their explanations. Also see the help file in /vs/bin/ag/help. • Ensure that the text file is of a small size so that conversion does not take long. Also, ensure that the combination of the two files results in a 1-page fax document. • Check the return value. If it is an unexpected value, perform some retry or recovery function. Figure 119 on page 450 shows how to use the FAX_CovrPage action step to create custom cover pages consisting of both graphics file and a text file. See FAX_Zapper on page 472 for a second example. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 449 8 Using Optional Features Figure 119. Intuity Script Builder FAX Actions Package Using FAX_CovrPage to Create a Custom Cover Page Background file Foreground file Please deliver this FAX to: HERE IS THE FAX YOU REQUESTED: Mr. Developer Lucent Technologies 1234 Main Street Big City, ST 56789 Voice Number: (614) 860-4216 FAX Number: (614) 868-3608 Delivered by the INTUITY CONVERSANT System and the Script Builder FAX Actions This is how to define the FAX_CovrPage action to produce the customized cover page below. FAX Delivery Number: FAX Delivery Time: FAX Retry Interval: FAX Retry Count: TSI String: Equipment Group: Return Field: 9-6148683660 "immediate" "20" "6" "Intuity CONVERSANT" return_field HERE IS THE FAX YOU REQUESTED: Delivered by the INTUITY CONVERSANT System and the Script Builder FAX Actions This is the resulting 8½" x 11" customized cover page placed in the file "/tmp/coverpage" that will accompany the FAX requested by the caller. Use the FAX_Send action to send the cover page and the FAX requested by the caller. Please deliver this FAX to: Mr. Developer Lucent Technologies 1234 Main Street Big City, ST 56789 Voice Number: (614) 860-4216 FAX Number: (614) 868-3608 ogcvfax KLC 032698 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 450 8 Using Optional Features Intuity Script Builder FAX Actions Package FAX_Queue FAX_Queue queues a file for transmission as a fax. The fax being queued must exist or exist at the time the action is executed. This action step should be used for each fax requested by a caller. FAX_Queue: Arguments Figure 120 on page 451 shows the Define FAX_Queue screen. Figure 120. Define FAX_Queue Screen The FAX_Queue action step has two arguments: • FAX File: Specifies the name of the file you want queued for fax transmission. The field has the following requirements: ~ You can specify the entire pathname of the file, or a character field that includes the name of the file to be queued. If a fax file in /usr/faxdb/FR/WORKFAX is specified, the file name is sufficient (for example, fax1). ~ If you are specifying an actual file, enclose the path/file in quotation marks ~ The file is either in ASCII text or TIFF Class F format. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 451 8 Using Optional Features Note: • Intuity Script Builder FAX Actions Package A fax loaded through the Loading and Printing Screen is in the TIFF Class F format. Return Value: A negative value indicates that an error was encountered. Most likely, the file that was queued could not be found. See "Repairing Script Builder FAX Actions Troubles" in Chapter 1, "Troubleshooting," in Intuity CONVERSANT System Version 7.0 System Reference, 585-313-205, for possible return codes and their explanations. Also see the help file in /vs/bin/ag/help. Exec_UNIX The Exec_UNIX action step directs the system to execute a UnixWare command or shell script. This action step is useful for creating text files to transmit to the caller. For example, if a caller enters an account number, a shell script can be executed to perform a database query that creates a formatted text file comprising the caller’s account statement. You can then fax the account statement to the caller using the FAX_Send action step. Exec_UNIX: How to Use It Figure 121 on page 453 shows the Define Exec_UNIX screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 452 8 Using Optional Features Figure 121. Intuity Script Builder FAX Actions Package Define Exec_UNIX Screen ! CAUTION: As when operating at the system console, you can execute almost ANY command or shell script using the Exec_UNIX action step, including commands that are harmful to the system. Test your command or shell script thoroughly before executing it from within a Script Builder application. Exec_UNIX: Arguments The Exec_UNIX action step has three arguments: • Command String: Enter the full pathname of the command that you want to execute. This is a required field. Valid entries are a character constant, for example, “banner hello world > /tmp/junkfile,” or a field name that contains a character constant. Note: Remember to include the quotation marks when entering the Command String. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 453 8 Using Optional Features Exec_UNIX: Tips Intuity Script Builder FAX Actions Package • Return String: Enter the field that contains the return string that results from execution of the Command String. This is an optional field. For example, if the file /tmp/junkfile contains the text “hello world” and the Command String is “grep hello /tmp/junkfile,” the Return String will contain “hello world.” If the file /tmp/junkfile does not contain the word “hello,” the Return String will be empty. The system reads into the Return String all characters (up to a maximum of 127) that it encounters before any new-line character appears or before an end-of-file condition occurs. The Return String is automatically null terminated. • Return Value: This field contains the return value from the UnixWare command execution. See "Repairing Script Builder FAX Actions Troubles" in Chapter 1, "Troubleshooting," in Intuity CONVERSANT System Version 7.0 System Reference, 585-313-205, for possible return codes and their explanations. Also see the help file in /vs/bin/ag/help. • Do not execute commands with long execution times that might introduce call delays. If this is unavoidable, ask the caller to “Please wait.” • When using Exec_UNIX with TTS, execute a command that returns text. Then speak the text to the caller using the returned text as input for an Announce action step. • If using Exec_UNIX to create text files to fax to the caller, use the Concat5 action step to attach the channel number to the text file name. This will prevent an Exec_UNIX action step running on one channel from Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 454 8 Using Optional Features Intuity Script Builder FAX Actions Package overwriting the text file created using an Exec_UNIX action step on another channel. See FAX_Zapper on page 472 below for an example of how to do this. • You can embed Script Builder system variables, such as $CI_VALUE, within the command line by constructing the command line using the Concat5 action step. For example, you can use Exec_UNIX to execute the command /att/trans/sb/FAX_Zapper/mkcv $CI_VALUE where mkcv is a shell script in the /att/trans/sb/FAX_Zapper directory and $CI_VALUE is the telephone number entered by the caller. You can not enter this command in the Command String: field of your Exec_UNIX action step because you cannot mix string constants and system variables. However, you can create this command using the Concat5 action step. Use Concat5 to concatenate the string “/att/trans/sb/FAX_Zapper/mkcv” to the field $CI_VALUE, putting the resulting string in the variable command_line which has been defined as a character type field of length 50. Then, enter the command_line variable directly into the Exec_UNIX Command String: field. Exec_UNIX will now execute the command string /att/trans/sb/FAX_Zapper/mkcv $CI_VALUE. This type of operation is done in the sample application in FAX_Zapper on page 472. The sample application uses the FAX_CovrPage action step to create a customized cover page. The top of the cover page is a graphic image and the bottom of the cover page is text containing the fax delivery number. The bottom of the cover page is created dynamically using Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 455 8 Using Optional Features Intuity Script Builder FAX Actions Package Exec_UNIX to execute the shell script mkcv which takes as input the caller’s fax delivery number and the channel on which the transaction occurs. • Exec_UNIX: Example Check the return value. If it is an unexpected value, perform some retry or recovery function. Figure 122 on page 456 shows an example of how to define the Exec_UNIX action step. See FAX_Zapper on page 472 below for a second example. Figure 122. Example of Defining Exec_UNIX Concat5 Use the Concat5 action step to concatenate (join together) up to five strings to make a resulting single string. A typical use for Concat5 is to create an unique file name for use in the FAX_Send or other FAX action steps, or to piece together a command line for use with the Exec_UNIX action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 456 8 Using Optional Features Concat5: How to Use It Intuity Script Builder FAX Actions Package To define the Concat5 action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > Concat5 The system inserts the Concat5 action step in the transaction. 3 Highlight the Concat5 action step. 4 Press F4 (Define). The system displays the Concat5 screen (Figure 123 on page 458). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 457 8 Using Optional Features Figure 123. Concat5: Arguments Intuity Script Builder FAX Actions Package Concat5 Screen The Concat5 action step has eight arguments: • Destination: Specify the name of the field where the resulting string will be placed. You supply the field name and Concat5 fills the field with the result of the concatenation. • String1: Specify the first string to be concatenated. Valid entries are fields or string constants (for example, “string1”). • String2: Specify the second string to be concatenated. The rules for String1 also apply here. This is a required field. • String3:, String4:, and String5: Specify the third, fourth, and fifth strings to be concatenated respectively. The rules for String1 also apply here. These fields are optional. If you do not use these fields, leave the default string “ “. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 458 8 Using Optional Features Concat5: Tips Intuity Script Builder FAX Actions Package • Max Destination Length: Specify the largest allowed length of the resulting string. If set to 0, a maximum length of 255 is assumed. The default is the system maximum of 255 characters. • Return Value: Specifies the return value field. The value placed here is equal to the length of the Destination: string. • Check the return value. If it is an unexpected value, perform some retry or recovery function. • Use this action step to create unique file names for faxes and files created using the other fax action steps. Also see the help file in /vs/bin/ag/help. Concat5: Example Figure 124 on page 460 shows an example of how to define the Concat5 action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 459 8 Using Optional Features Figure 124. Intuity Script Builder FAX Actions Package Example of Defining Concat5 FAX_CNG Note: FAX_CNG: What It Does You cannot use the FAX_CNG action step on calls arriving on E1/T1 channels. The FAX_CNG action step allows the application to detect FAX CNG tone. FAX CNG tone is the tone emitted by a transmitting fax machine after the start button has been pressed. Using this action step, your application can listen for the FAX CNG tone and if found, can transfer the call to a fax machine, a PC equipped with a fax modem, or any other fax reception system or device that will respond to the CCITT Group 3 fax standard tone. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 460 8 Using Optional Features Intuity Script Builder FAX Actions Package When FAX CNG tone detection is activated using the FAX_CNG action step, the system listens for FAX CNG tone during the next Prompt & Collect action step. If the system detects FAX CNG tone, it places the value “E” in the Caller Input Field: (for example, $CI_VALUE). Specify this field in the Define Prompt and Collect INPUT screen. Note: FAX_CNG: How to Use It Ring, busy and interflow tones are not detected during the time that FAX CNG tone detection is active. All other tones, including touch tones, are detected, however. Deactivate FAX CNG tone detection soon after FAX CNG tone detection is complete. To define the FAX_CNG action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > FAX_CNG The system inserts the FAX_CNG action step in the transaction. 3 Highlight the FAX_CNG action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 461 8 Using Optional Features Intuity Script Builder FAX Actions Package 4 Press F4 (Define). The system displays the Define FAX_CNG screen (Figure 125 on page 462). Figure 125. FAX_CNG: Arguments FAX_CNG: Tips Define FAX_CNG Screen The FAX_CNG action step has two arguments: • FAX CNG Detection Mode: Specify whether the FAX CNG detector is being activated or deactivated. Select either listen, which activates FAX CNG detection, or reset, which deactivates FAX CNG detection. • Return Field: A negative value indicates a problem was encountered. If the FAX_CNG action step is successful, the value is 0. See "Repairing Script Builder FAX Actions Troubles" in Chapter 1, "Troubleshooting," in Intuity CONVERSANT System Version 7.0 System Reference, 585-313205, for possible return codes and their explanations. Also see the help file in /vs/bin/ag/help. • Check the return value. If it is an unexpected value, perform some retry or recovery function. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 462 8 Using Optional Features Intuity Script Builder FAX Actions Package • Reset FAX CNG detection as soon as possible. • Use a Prompt & Collect action step to get a single touch tone (touch-tone gate) for best results. If your Prompt & Collect action step expects three touch tones, it will wait until the third FAX CNG tone is detected before continuing or might time out if the correct number of touch tones are not received within the interdigit time-out interval. See FAX_Zapper on page 472 below for an example of this. • FAX CNG tone has a 3 second period. In other words, the tone beeps every 3 seconds. To be sure to catch it, listen for 6 seconds. This ensures that you do not "catch it between beeps." That is, make the "Initial Timeout" parameter on page 2 of the "Define Prompt & Collect" equal to 6. • Use the FAX_CNG action step to receive FAXes into a system mailbox. To do this, once FAX CNG tone is detected, use the FAX_Get action step. FAX_CNG: Example Figure 126 on page 464 shows an example of how to define the FAX_CNG screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 463 8 Using Optional Features Figure 126. Intuity Script Builder FAX Actions Package Example of Defining FAX_CNG Loading and Printing FAXes Sending Graphic Files and Text Files Script Builder FAX Actions can send either graphic files and/or text files to the caller. Graphic Files Load graphic files into the system using the FAX Loading and Printing screen. During loading, the pages are faxed into the system and stored as files on the system hard disk. The system uses the TIF Class F file format. Once loaded into the system, these faxes are available to the FAX_Send and FAX_CovrPage action steps. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 464 8 Using Optional Features Intuity Script Builder FAX Actions Package Text Files Text files, like graphic files, are stored on the system hard disk. However, they are stored in text format. To create text files, you can: Accessing the FAX Loading and Printing Screen • Use a text editor such as “vi” from the system console. • Echo text into a file from the system console or from a running application (for example, “echo hello world > /tmp/textfile” puts the text “hello world” into the text file /tmp/textfile). • Execute a database query and put its output into a text file. 1 Start at the Voice System Administration menu (Figure 127 on page 465). Figure 127. Voice System Administration Menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 465 8 Using Optional Features Intuity Script Builder FAX Actions Package 2 Select: >Application Package Administration > Script Builder FAX Actions The system displays the Script Builder FAX Actions menu (Figure 128 on page 466). Figure 128. Script Builder FAX Actions Menu 3 Select: > FAX Loading and Printing The system displays the FAX Loading and Printing screen (Figure 129 on page 467). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 466 8 Using Optional Features Figure 129. Intuity Script Builder FAX Actions Package FAX Loading and Printing Screen 4 Provide the following information on the FAX Loading and Printing screen: Note: Your system comes with ten faxes loaded: fax1, fax2, ..., fax3. ~ Code — This is an arbitrary four-digit code for each fax. ~ FAX ID — Entries in this field must be in the form faxN, where N is a number. For example, fax1, fax2,..., fax100, fax101,..., fax998, fax999. Fax999 is the highest FAX ID allowable. To load more than 999 faxes into your system, see Loading More Than 999 Faxes into the System on page 484. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 467 8 Using Optional Features Note: Intuity Script Builder FAX Actions Package When you enter the FAX ID, the system displays an asterisk in front of it. This means the fax has not yet been loaded into the system. When the fax is loaded into the system, the asterisk disappears. ~ Comments — Enter information here that will help you remember what the fax is. This is an optional field. Loading the Fax 1 To load the faxes, press the FA X- AD M key. The system displays the FAX Administration menu (Figure 130 on page 468). Figure 130. FAX Administration Menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 468 8 Using Optional Features Intuity Script Builder FAX Actions Package 2 Press the LO AD -F X key. The system displays the Enter A FAX Channel for Loading window (Figure 131 on page 469). Figure 131. FAX Channel for Loading Window 3 Enter the channel number. The system displays an information screen (Figure 132 on page 469). Figure 132. Loading Fax Information Screen 4 Complete the following Steps a through d: a Place the document you want to load into your fax machine. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 469 8 Using Optional Features Intuity Script Builder FAX Actions Package b Dial the fax channel extension. c Press the start button on your fax machine. d Press any key to continue. Printing the Fax To print a fax: 1 Press PR IN T-F X from the FAX Administration menu (Figure 130 on page 468). The system displays the Destination for PRINT window (Figure 133 on page 470). Figure 133. Destination for PRINT Window 2 Enter the telephone number of a fax machine to which the fax is to be printed. Valid entries are: ~ A string constant enclosed in quotes, for example, “9-6148683608” ~ The name of a field that contains a string constant The following characters can be used in the Destination Number: field: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, asterisk (*), pound sign (#), comma (,), and dash (-). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 470 8 Using Optional Features Note: Searching for Available Faxes Intuity Script Builder FAX Actions Package • Using a comma (,) causes a 1-second pause during dialing on lines in all equipment groups, both digital (T1) and analog (Tip/Ring). For longer pauses, multiple commas can be used. • For lines in analog equipment groups, using a dash (-) causes a short (0.1-second) pause during dialing. The dash (-) cannot be on digital (T1) lines. 1 To search for a fax available to the system, press S EA RC H from the FAX Loading and Printing screen (Figure 129 on page 467). The Search for FAX screen appears (Figure 134 on page 471). Figure 134. Search for FAX Screen 2 In the Search field:, select one of the following to use as the key for the search: ~ Code ~ FAX ID ~ Comments Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 471 8 Using Optional Features Intuity Script Builder FAX Actions Package 3 In the Search for: field, select the value of the field that you are searching for (for example, Top of Cover Page). 4 Press SAV E to begin the search. The system places the cursor on the result of the search, if any. FAX_Zapper FAX_Zapper is a user-modifiable, remotely administrable fax-back or fax-ondemand application. It uses Script Builder FAX Actions to allow callers to: • Retrieve faxes of their choosing from a menu of available faxes — Faxes can be sent to any fax machine or can be sent directly to the caller if calling from a fax machine. • Send voice-annotated faxes to the system fax mailbox • Reach an attendant • Transfer to an extension • Listen to an information announcement The application can be modified from either the system console through Script Builder or remotely using a telephone and/or fax machine. Remotely, the user can: • Retrieve faxes left by callers in the system mailbox Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 472 8 Using Optional Features Intuity Script Builder FAX Actions Package • Broadcast a fax to a broadcast mailing list • Administer the broadcast mailing list • Administer the main system prompts ~ Greeting ~ Main Menu ~ Fax Menu ~ Good-bye Message • Change faxes available for callers to retrieve Figure 135 on page 474 shows a simplified functional diagram for the FAX_Zapper. Figure 136 on page 475 shows a more detailed flow diagram. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 473 8 Using Optional Features Figure 135. Intuity Script Builder FAX Actions Package FAX_ Zapper Functional Diagram Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 474 8 Using Optional Features Figure 136. Intuity Script Builder FAX Actions Package FAX_Zapper Flow Diagram Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 475 8 Using Optional Features Intuity Script Builder FAX Actions Package Installing and Using To install and use the FAX_Zapper: the FAX_Zapper 1 Make sure you have the floppy disks containing FAX_Zapper. There are four disks: ~ One for the transaction ~ One for the application databases ~ Two for the speech 2 From the Voice System Administration menu (Figure 127 on page 465), select: > Script Builder Applications The system displays the Script Builder Applications menu (Figure 137 on page 477). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 476 8 Using Optional Features Figure 137. Intuity Script Builder FAX Actions Package Script Builder Applications Menu 3 Select: > ADD NEW APPLICATION The system displays the New Application screen (Figure 138 on page 478). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 477 8 Using Optional Features Figure 138. Intuity Script Builder FAX Actions Package New Application Screen 4 Add an application named FAX_Zapper. 5 Press F6 (Restore) and follow the instructions on the screen to restore the entire application. ! CAUTION: If you do not use the name FAX_Zapper, the application will not be able to find needed files where it expects to find them. You can rename the application if desired once it is RESTORED via Script Builder. If you do, be sure to change the references to FAX_Zapper in the application as appropriate. 6 Verify and install the application using Script Builder. 7 Make sure at least one fax channel is in service. See “Configuration Management,” in Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information about how to administer a channel. 8 Assign FAX_Zapper to a voice channel. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 478 8 Using Optional Features Intuity Script Builder FAX Actions Package Call the application from a fax machine (to put faxes in or to get faxes out on the current call) or from a telephone (to retrieve faxes by entering a delivery number or to administer the FAX_Zapper). 9 The default ADMIN_SECURITY_CODE is “1234.” Enter this when prompted by the FAX_Zapper. Modifying FAX_Zapper For the sake of simplicity and to make the application suitable for most users, the FAX_Zapper does not use host, text-to-speech, or speech recognition operations. However, you can modify FAX_Zapper to use these and any other system capabilities. Table 38 on page 479 lists examples of modifications and how you can make them. These are only suggestions. There are many ways of implementing any given capability. Table 38. FAX_Zapper Modifications and How to Implement Them Modification/Additional Capability How to Implement Re-record the Hello, Main Menu, Fax Menu or Goodbye prompts Call the FAX_Zapper and use the telephone-based administration (default password is “1234”) or use Script Builder’s Speech Administration screens. 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 479 8 Using Optional Features Intuity Script Builder FAX Actions Package Table 38. FAX_Zapper Modifications and How to Implement Them Modification/Additional Capability How to Implement Change one of the eight faxes available for callers to retrieve Call the FAX_Zapper from a fax machine and use the telephone-based administration or use Script Builder FAX Actions FAX Loading and Printing. Increase the number of faxes available for callers to retrieve Use Script Builder to change the logic of the fax menu to add choices. Then use Script Builder FAX Actions FAX Loading and Printing to load the faxes. Increase the number of fax mailboxes Use Script Builder to modify the program flow to allow callers to specify the intended recipient of the fax. Create a new local database table to hold the details of each mailbox: owner, password, etc. Create logic to allow mailbox owners to retrieve faxes. Provide broadcast fax mailing lists for each mailbox owner Use Script Builder to modify the program flow. Create a new local database table to hold the details of each mailbox owner’s mailing lists. 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 480 8 Using Optional Features Intuity Script Builder FAX Actions Package Table 38. FAX_Zapper Modifications and How to Implement Them Modification/Additional Capability How to Implement Expand audiotext information Use Script Builder to modify the program flow. Use Script Builder Speech Administration to record the audiotext information or implement a telephonebased recording capability like the one in the current FAX_Zapper. Change the name of the FAX_Zapper Use Script Builder to copy FAX_Zapper to a name of your choosing. Be sure to modify any pathnames in the application that contain FAX_Zapper. 3 of 3 Application Performance Considerations The following information and suggestions will help optimize the performance of applications that use Script Builder FAX Actions. Note: As an application developer, you are responsible for making sure your application is logically correct and as pleasant for the caller to use as possible. Thorough testing, including testing under load, is recommended before any application is made available to callers. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 481 8 Using Optional Features Intuity Script Builder FAX Actions Package • Make sure that any commands, programs, or shell scripts you execute via the Exec_UNIX action step do not have long execution times. The longer the execution time, the longer the potential delay to the caller. If delays are unavoidable, be sure to ask the caller to “Please wait.” If necessary, limit the number of channels on which the service is running. • Sending text files is more processing intensive than sending fax images. This is because the system must first convert the text file to fax format before transmission can occur. File conversions could create delays that are noticeable to the caller. If you use the same text file repeatedly throughout a single call, a single application, or among several applications, enter the text file into the system as a fax image via the FAX Loading and Printing screen. Use text files only when they involve dynamic information. Avoid using large text files whenever possible. Fax Broadcasting A fax broadcasting capability allows the administrator to create and modify a broadcast mailing list containing the telephone numbers of fax machines that will receive the broadcast. It also allows the administrator to load a fax into the system and broadcast this fax to the mailing list created. Note: The FAX_Zapper application contains a fax broadcasting capability that can be used as a model for fax broadcasting within a running application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 482 8 Using Optional Features Intuity Script Builder FAX Actions Package Another way to broadcast faxes is from the console command line. You can write a utility that sends a fax to many recipients using the faxit command. See faxit on page 488 for more detail. The shell script language fragment below shows one way to broadcast a fax. In this utility, the fax “/tmp/FAXfile” is sent to four telephone numbers (5551111,..., 555-4444). The fax is sent immediately instead of waiting for the economy delivery time. ### Start broadcasting shell script # create a text file containing the “hello world” banner echo hello world > /tmp/FAXfile for phone_number in 5551111 5552222 5553333 5554444 do # send the hello world banner to each number /vs/bin/tools/faxit /tmp/FAXfile $phonenumber “no” done ### End broadcasting shell script Another option in broadcasting a fax is to read the telephone number destinations from a file instead of “hardcoding” them within the shell script. That way, the address list can be updated easily. This shell script can be executed • From the command line • From crontab • By a Script Builder application using the Exec_UNIX action step and called from a remote location Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 483 8 Using Optional Features Intuity Script Builder FAX Actions Package Loading More Than 999 Faxes into the System FAX IDs in the FAX Loading and Printing screen go up to “fax999.” This means that the FAX Loading and Printing screen and the directory that supports it can hold only 999 faxes at a time. However, you can load your faxes into this screen, then move them to a different directory. This enables you to load as many faxes into the system as the hard disk will contain. The following procedure summarizes how to load more than 999 faxes into the system. 1 Load the fax through the FAX Loading and Printing screen as described in Loading and Printing FAXes on page 464. These faxes are stored on the system hard disk in the directory /usr/faxdb/FR/WORKFAX. The file names are the same as the FAX ID (for example, “fax1” through “fax999”). 2 Copy the file from /usr/faxdb/FR/WORKFAX to a different location of your choosing. 3 In your FAX_Queue action step, reference the moved file by its full pathname. For example, if you move the file /usr/faxdb/FR/WORKFAX/fax1 to the file /usr/mydir/myfax, enter /usr/mydir/myfax into the Fax File: field in your FAX_Queue action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 484 8 Using Optional Features Intuity Script Builder FAX Actions Package How to Use the faxlog Command Every fax transmission or reception attempt results in an entry to the faxlog command output. The faxlog command provides the following information for each fax: • Indication of whether fax is incoming or outgoing • Start time of the transmission or reception • Job identification of the fax • Destination of the fax [a dash (–) indicates an incoming fax] • Length of the transmission or reception • Number of pages • Status of the fax Figure 139 on page 486 shows the output from the faxlog command. See Appendix A, “Summary of Commands,” of Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for additional information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 485 8 Using Optional Features Figure 139. Intuity Script Builder FAX Actions Package faxlog Output Using Script Builder FAX Actions in Non-Script-Builder (TAS) Applications To use the Script Builder FAX Actions capabilities within non-Script-Builder (or TAS script applications) use the code fragments generated by Script Builder FAX Actions as models. This code is in the /vs/bin/ag/eascripts directory. Troubleshooting Script Builder FAX Actions and Script Builder provide diagnostic and troubleshooting information with the tools described in this section. See the maintenance book for your platform for more troubleshooting information. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 486 8 Using Optional Features Intuity Script Builder FAX Actions Package HELP Screens To access HELP screens, press HE LP when defining any Script Builder FAX Actions action step. The HELP screen provides information about how to use the particular action step. Script Builder Action Step Return Values You can generally diagnose problems related to using the Script Builder action steps including Script Builder FAX Actions using the values returned by the action steps (return values). For the most part, negative return values indicate problems. If you receive a negative return value, see the HELP screens associated with the action step that returned it, the troubleshooting section in the maintenance book for your platform, or the explain text associated with any resulting error log entries. These sources will give you information about how to interpret the return value and actions necessary to remedy the problem. Application Tracing The tracing utility allows you to monitor each step of a running application including any DIP interactions that occur. See Appendix A, “Summary of Commands,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information about the trace command. You can frequently use the error indications in trace output to identify problems. Trace the sbFaxProc for information about the Script Builder FAX Actions DIP. To trace the sbFaxProc, enter /vs/bin/trace sbFaxProc at the system console. To exit trace, press DE L . Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 487 8 Using Optional Features Intuity Script Builder FAX Actions Package FAX Transmission Control The FAX Transmission Control screen provides a list of and information about the faxes currently in the transmission queue. From there you can remove faxes from the transmission queue. For information on how to use the FAX Transmission Control screen, see Chapter 4, “Feature Package Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. faxit The faxit command allows you to queue a fax and/or send a fax from the UnixWare prompt. To use it, enter one of the following: • To queue a fax, enter: /sbfax/bin/faxit -q -f FAX_File • To send a fax, enter: /sbfax/bin/faxit -s -n delivery_number [-t delivery_time _in_hhmm] [-i retry_interval_in_minutes] [-c retry_count] [-T “TSI_string”] [-G Equipment_Group] • To queue and send a fax, enter: /sbfax/bin/faxit -S -f fax_file -n delivery_number [-t delivery_time_in_hhmm] [-i retry_interval_in_minutes] [-c retry_count] [-T “TSI_string”] [-G Equipment_Group Refer to Appendix A, “Summary of Commands,” of Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for complete syntax of the faxit command. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 488 8 Using Optional Features Error Log Reports Using ASAI The Intuity CONVERSANT system logger keeps track of information the system generates about its own performance, including FAX Actions. When problems occur in an application or in the system, symptoms frequently appear in the logger. Each Log message has associated explain text that explains the message and provides detail that the actual message does not contain. See Appendix A, “Summary of Commands,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, and Intuity CONVERSANT System Reference, 585-313-205, for more information about how to access the error log information and the explain information. Using ASAI The Adjunct/Switch Application Interface (ASAI) is an optional feature package that provides computer telephony integration (CTI) between DEFINITY Generic 3 and adjuncts. The ASAI digital signaling interface package provides a set of predefined capabilities that allow the voice system to monitor and route calls on the DEFINITY Generic 3. When used in conjunction with Tip/Ring (T/R), Line Side E1, or Line Side T1 interfaces, the ASAI interface allows the voice system to monitor and control incoming calls. It allows access to Automatic Number Identification (ANI) and called party number (DNIS) and supports ASAI transfer, which is faster and more reliable than a flash transfer. The full library of ASAI interface software is provided with the ASAI feature package. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 489 8 Using Optional Features Note: Using ASAI You can use the ANI and DNIS to specify an application for a caller by assigning *DNIS_SVC to a channel in the Assign Channel Service screen. Then assign ranges of ANIs and DNISs in the Assign Number Service screen. Specify the application in the Service Name field. See Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. See Chapter 3, “Adjunct/Switch Application Interface,” in Intuity CONVERSANT System Version 7.0 Communication Development, 585-313202, for information about establishing the ASAI interface. See Chapter 4, “Feature Package Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information about administering the ASAI package. This section contains information on the action steps used to access the Adjunct/Switch Application Interface (ASAI) capabilities from the Script Builder environment. The ASAI action steps are listed in Table 39 on page 491. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 490 8 Using Optional Features Table 39. Using ASAI ASAI Action Steps in Script Builder Action Step Description For calls to agents: A_Callinfo Used to access ASAI call information on an agent line A_Tran Used on system agent (Tip/Ring or LSE1/LST1) line to transfer a call to a live ACD, live agent, or other station on the PBX For call routing: A_Event Used to retrieve information related to a call being monitored by an ASAI domain A_RouteSel Used to send an ASAI route select message to the Private Branch Exchange (PBX) Defining A_Callinfo The A_Callinfo action step is used to access call information obtained from ASAI for a call on a system agent line. The A_Callinfo action returns the calling party number and called party number associated with an incoming call to the transaction script environment. The A_Callinfo action also returns a Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 491 8 Using Optional Features Using ASAI call ID which identifies the call. In addition, if touch-tone digits entered by the caller have been collected by the switch, A_Callinfo returns these digits. If the call was delivered to a switch through a trunk and ANI information for the call is not available, the Trunk Group Id is returned instead of the calling party number. To add the A_Callinfo action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > A_Callinfo The system inserts the A_Callinfo action step in the transaction. 3 Highlight the A_Callinfo action step. 4 Press F4 (Define). The system displays the Define A_Callinfo window (Figure 140 on page 493). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 492 8 Using Optional Features Figure 140. Defining the A_Callinfo Fields Using ASAI Define A_Callinfo Window Each of the fields in the Define A_Callinfo window must contain a field name which returns the following information. See Table 40 on page 496 for a summary of the information in each of these fields. ! CAUTION: Specify only “num” field types for those fields in the Define A_Callinfo window that return numbers, that is, specify num fields or constants for those fields that are of type num. • Calling Party Number: field stores the calling party number, up to 20 characters in length. If the A_Callinfo action step is successful, this field contains the calling party number, which is the ANI or the caller’s Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 493 8 Using Optional Features Using ASAI extension (if available). If the calling party number is not known or the call was routed from a non-ISDN trunk, a string of length 0 (null value) is returned. • Called Party Number: field stores the called party number (DNIS), up to 20 characters in length. If the Called Party Number is not known, a string of length 0 (null value) is returned. • Switch Data: field stores up to 16 characters. If the switch prompts the caller for touch-tone digits, the digits are returned in the Switch Data field. If no digits are collected by the switch, a string of length 0 (null value) is returned. • Trunk Group Id: field indicates whether the incoming call was routed from a non-ISDN trunk on the switch. If the call was not placed through a trunk, the value returned is 0. • Call Id: field stores the Call Id (assigned by the switch) that identifies the incoming call. If the Call Id is not known, the value returned is 0. • Cause Value: field returns an error cause if the request for call information is not successful. Note that the error cause is returned if the Return Field contains a value of -3. See the maintenance book for your platform for a complete listing of cause values. • Universal Call Id: field contains the unique identifier or tag for each call. If this call is a transfer, the contents of this field is returned to the A_Tran action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 494 8 Using Optional Features Using ASAI • User to User Info: field contains the user-to-user information element received from the DEFINITY. This field can contain any customer-setable information to passed by the script along the network. • ANI II Digits: field contains a number (0< II < 99) that describes the class of service of the calling customer (residential, coin, wireless, etc). This value is used for North American inbound ISDN-PRI trunks. • Return Field: field holds the return status of the A_Callinfo action step. If the A_Callinfo action step is successful, it returns a number greater than or equal to zero. If A_Callinfo is unsuccessful, it returns one of the following negative values: ~ -1: A_Callinfo could not send the request for call information. Check the Message Log Report for system errors. See Chapter 8, “Daily Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for additional information. ~ -2: A_Callinfo did not receive a response from the ASAI for the request for information. Check to see if the ASAI system is running. ~ -3: ASAI could not process the request for information. Check the Cause Value field for information on why the request failed. ~ -4: The ASAI link is down and call information cannot be received from the switch. See the maintenance book for your platform about troubleshooting the ASAI digital link. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 495 8 Using Optional Features Using ASAI ~ -5: The system received an illegal request. The call is not being monitored so no call information is available. Make certain that A_Callinfo is being used only in a script assigned to a system agent line (channel) and that the domain with which the call is associated is being monitored by the system. See Chapter 4, “Feature Package Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on channel administration and domain administration, including how to monitor a channel. ~ -6: The switch did not respond with the call information. Table 40. A_Callinfo Fields Field Input/Output Required? Field Type Field Size Calling Party Number Output Required Char 20 Called Party Number Output Required Char 20 Switch Data Output Required Char 16 Trunk Group ID Output Required Num – Call Id Output Required Num – Cause Value Output Required Num – Universal Call Id Output Optional Char 20 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 496 8 Using Optional Features Table 40. Using ASAI A_Callinfo Fields Field Input/Output Required? Field Type Field Size User to User Info Output Optional Char 32 ANI II Output Optional Num – Return Field Output Optional Num – 2 of 2 Defining A_Tran The A_Tran action is used by voice scripts running on system agent (Tip/Ring or LSE1/LST1) lines to transfer a call to a live ACD, live agent, or other station on the PBX. To do so, the A_Tran action takes control of the incoming call, puts the call on hold, places a call to the Destination Number and, if the call is not busy or denied, merges the original call with the call to the Destination Number. If the call is busy or denied, A_Tran drops the call to the Destination Number, reconnects to the original caller, and relinquishes control of the original incoming call. Note: A_Tran merges the original incoming call with the second call only after determining that the second call has been placed successfully. This is important when using A_Tran to transfer to VDNs/vectors. The second call is considered to have been placed successfully if it becomes queued or alerts at an agent’s Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 497 8 Using Optional Features Using ASAI telephone. Before the two calls are merged to complete the transfer, the original caller remains on hold. In some cases, you may want the system to perform additional vector processing after the call is transferred (for example, play announcements or perform call prompting operations). You must force the transfer to complete before such operations are performed. Examples include queuing the call to the agent split before playing announcements and queuing the call to a dummy split before performing call prompting operations. No ports or stations need be dedicated to establish a dummy split. To ensure that a “queue to” step causes calls to be queued to a dummy split, however, the dummy split should be made vector controlled and queue slots should be assigned to it. To add the A_Tran action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > A_Tran The system inserts the A_Tran action step in the transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 498 8 Using Optional Features Using ASAI 3 Highlight the A_Tran action step. 4 Press F4 (Define). The system displays the Define A_Tran window (Figure 141 on page 499). Figure 141. Define A_Tran Window Defining the A_Tran Each of the fields in the Define A_Tran window must contain a field name or Fields constant which returns the following information. See Table 41 on page 504 for a summary of the information in each of these fields. ! CAUTION: Specify only num field types or constants for fields of type num. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 499 8 Using Optional Features Using ASAI • Destination Number: field contains either a number or the name of a field that contains a number indicating where the call is to be transferred. This field must be a valid extension number (for example, ACD hunt group extension, VDN, or station) or external address (for example, Direct Distance Dialing Number). The Destination Number can be up to 20 digits in length. If calls will be transferred to a number that is not on the switch, the Destination Number can contain a Trunk Access Code or Automatic Alternate Routing/Automatic Route Selection. • Split Extension: field is used only for direct agent calls. This field contains either a number or the name of a field that contains a number identifying a valid ACD split. This field can be up to 5 digits in length. If this field is used, the call is treated as a direct agent call and transferred to the agent identified in the Destination Number field via the split identified in the Split Extension field. If the Split Extension field contains no digits (null value), the call is treated as a normal call rather than a direct agent call. An empty split extension is entered by leaving the field blank as opposed to entering “ “. • Priority Call: field indicates whether the call is to be delivered as a regular or priority call. This field must contain either yes or no or a field name that can contain either of these two values. Select yes if you want the call delivered as a priority call. Select no if you want the call delivered as a regular call. If you do not select yes, the call is delivered as a regular call. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 500 8 Using Optional Features Using ASAI • VIS Data: contains up to 20 characters of any type of information that is saved and later used by the A_Event action. The data provided in this field is sent in the VIS Data field that appears in all messages received by the A_Event action for the transferred call, provided that the call is reported on either a CTL, VDN, or ACD type domain for the non-voice application. • Call State: stores the status of the call. If a call transfer was attempted, this field holds one of the following values: ~ 0: Call State information is not available. ~ 1: The Destination Number is ringing (alerting). ~ 4: The transfer was denied. Check the Cause Value field for additional information. ~ 5: The Call to the Destination Number is queued until a line becomes available. ~ 7: The Destination Number is busy. ~ 8: The destination address seized a non-ISDN trunk (trunk seizure). ~ 9: The destination address is interworking with a non-ISDN trunk (cut- through). Note: The Call State field contains the status of the call when A_Tran returns 0, -53, -60, -61, and -62 in Return Field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 501 8 Using Optional Features • • Using ASAI Cause Value: returns an error cause if the transfer is not successful. Note that the Cause Value field contains the reason for the failure if A_Tran returns -16, -17, -18, -19, or -20 in the Return Field. Otherwise, if A_Tran is successful, the Cause Value is set to -1. See the maintenance book for your platform for a complete listing of Cause Values. Universal Call Id: contains the unique identifier or tag for every call received. • User to User Info: contains the user-to-user information element to be sent. This field can contain any customer-setable information to passed by the script along the network. • Return Field: returns a code indicating whether A_Tran was successful. A_Tran attempts to complete (merge) the transfer if the call is not busy or denied. If the A_Tran action is successful, it returns a number greater than or equal to zero. Otherwise A_Tran reconnects back to the original caller if necessary and returns one of the following negative values: ~ -1: A_Tran could not send the request to take control of the original call. Check the Message Log Report for system errors. See Chapter 8, “Common Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information. ~ -2: A_Tran did not receive a response from the ASAI for the request to take control of the original call. Check to see if the ASAI system is running. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 502 8 Using Optional Features Using ASAI ~ -4: The ASAI Link is down and transfer information cannot be performed. See the maintenance book for your platform for information on troubleshooting the ASAI digital link. ~ -5: The system received an illegal request. The call is not being monitored so no transfer information is available. See Chapter 4, “Feature Package Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on channel administration and domain administration. ~ -6: The switch did not respond with the transfer information. ~ -8: The original call doesn’t exist on the specified channel. ~ -9: ASAI could not send the request to the switch. See the maintenance book for your platform for information on troubleshooting the ASAI digital link. ~ -10: ASAI ran out of all cluster IDs. ~ -11: The Destination Number field exceeds 20 characters. ~ -12: The Destination Number field is empty. ~ -13: The Split Extension field exceeds 5 characters. ~ -14: The VIS Data field exceeds 20 characters. ~ -16: A_Tran did not receive an error from the ASAI system when trying control of the original call. Check the Cause Value field. ~ -17: A_Tran received an error from the ASAI system when trying to put the original call on hold. Check the Cause Value field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 503 8 Using Optional Features Using ASAI ~ -18: A_Tran received an error from the ASAI system when trying to place the to the Destination Number. Check the Cause Value field. ~ -19: A_Tran received an error from the ASAI system when trying to complete (merge) the transfer. Check the Cause Value field for information on why the request failed. ~ -20: A_Tran dialed out to the Destination Number but the call was busy or denied. Check the Call State and Cause Value fields for the reason why the request failed. Table 41. A_Tran Fields Field Input/Output Required? Field Type Field Size Destination Number Input Required Char 20 Split Extension Input Optional Char 5 Priority Call? Input Required Char 4 VIS Data Input Required Char 20 Call State Output Required Num – Cause Value Output Required Num – 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 504 8 Using Optional Features Table 41. Using ASAI A_Tran Fields Field Input/Output Required? Field Type Field Size Universal Call Id Output Optional Char 20 User to User Info Input Optional Char 32 Return Field Output Optional Num – 2 of 2 Defining A_Event The A_Event action step retrieves information related to a call being monitored by an ASAI domain. This action must be used with all scripts assigned to a domain. The A_Event action step can return the following types of events: • Abandon Events — A monitored call is dropped or the caller hung up. • Connect Events — A monitored call is being delivered to an agent. • End Events — A monitored call has ended normally (that is, it was not abandoned). • Route Request Events — The switch has requested routing for a particular call. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 505 8 Using Optional Features Using ASAI • Abnormal Route End Events — The switch is reporting that the routing failed due to some reason specified in the Cause Value field. • Trunk Seizure — A monitored call is being delivered to an agent. ! CAUTION: Do not use the A_Event action step in a script assigned to a voice channel. This action step is not compatible with voice domain transactions. To add the A_Event action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > A_Event The system inserts the A_Event action step in the transaction. 3 Highlight the A_Event action step. 4 Press F4 (Define). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 506 8 Using Optional Features Using ASAI The system displays the Define A_Event window (Figure 142 on page 507). Figure 142. Define A_Event Window Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 507 8 Using Optional Features Defining the A_Event Fields Using ASAI Each of the fields in the Define A_Event screen must contain a field name (Table 42 on page 515) which returns the following information: ! CAUTION: Specify only num field types or constants for fields of type num. • Connected Party Number: returns a number or extension, depending on the event being reported. ~ For the “C” (Connect) event, the field returns the alerted extension (answering extension) if the “C” event is triggered on the alerting or connect message from the switch. ~ If A_Event indicates the call has ended (the Return Field value is “E”), the Connected Party Number field contains the number of the last connected or alerted party. ~ If A_Event indicates the call is abandoned (the Return Field value is “A”), the Connected Party Number field returns an alerted agent extension or a string of length 0 (null value) depending on when the call was abandoned. If the call was abandoned before agent selection, the Connected Party Number field returns a string of length 0 (null value). ~ The Connected Party Number field returns the string TRUNK for the “T” (TRUNKSZR) event. If the call was abandoned after agent selection, the Connected Party Number field returns the extension of the agent that was alerted for the call prior to the abandon. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 508 8 Using Optional Features Using ASAI If the Connected Party Number is not known, a string of length 0 (null string) is returned. ~ If A_Event is reporting a route request (the Return Field value is “R”), a string of length 0 (null value) is returned. The value can be up to 20 characters in length. • Calling Party Number: stores up to 20 characters. If the A_Event action is successful, this field contains the calling party number, which is the ANI or the caller’s extension. If the Calling Party Number is not known or the call was routed from a non-ISDN trunk, a string of length 0 (null value) is returned. If the value returned from the Other Call Id field is not 0, then the Calling Party Number returns the number of the original calling party. • Called Party Number: stores the called party number. The value returned in the Called Party Number field can be up to 20 characters in length. If the Called Party Number is not known, a string of length 0 (null value) is returned. If the value returned from the Other Call Id field is not 0, then the Called Party Number returns the number that was originally dialed. • Switch Data: stores up to 16 characters. If the switch prompts the caller for touch-tone digits, the digits are returned in the Switch Data field. If no digits are collected by the switch, a string of length 0 (null value) is returned. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 509 8 Using Optional Features Using ASAI • Trunk Group Id: indicates whether the incoming call was routed from a non-ISDN trunk on the switch. If the call was not placed through a trunk the value returned is 0. • Call Id: stores the Call Id (assigned by the switch) that identifies the incoming call. If the Call Id is not known, the value returned is 0. • Other Call Id: returns a number (assigned by the switch) that identifies the original call that was transferred. The script developer can use this field to associate subsequent events that occur from a previous call. If the field is 0, then A_Event cannot relate this event with any other call. If the call is a new incoming call to a monitored domain, the field is always 0. If it is a transfer call, the field value depends on the type of transfer that was completed. A consult transfer returns a nonzero value only when the transfer call is directed to a nonmonitored domain. A blind transfer always returns a nonzero value. See the information on agent-to-agent transfers in Chapter 4, “Adjunct/Switch Application Interface,” in Intuity CONVERSANT System Version 7.0 Communication Development, 585313-202. • LAI Display Info: returns the Look Ahead Interflow (LAI) display information for the call. The value returned in this field depends on the call flow and whether or not the LAI feature (a PBX feature) is used. When the LAI feature is used to connect calls from one call center to another, this information can be used to determine which call center application was handling the caller on the originating switch. The originating switch can be administered such that the LAI Display Info field will contain the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 510 8 Using Optional Features Using ASAI originally dialed number the caller used at the originating switch. If the LAI feature is not used to connect calls from one switch to another, a string of length 0 (null value) is returned. • VIS Data: returns a value previously saved in the VIS Data field of the A_Tran action in a voice script. If the call was not previously transferred using A_Tran, a string of length 0 (null value) is returned. For example, a voice script that responds to an incoming call to the system (on a channel administered for ASAI) collects information from the caller and saves information in the VIS Data field of the A_Tran action and then uses A_Tran to transfer the call to a domain administered on the system. When A_Event reports the Abandon, Connect, Trunk Seizure, or End events (Return Field contains “A”, “C,” “T,” or “E”) for that call, this field returns the saved information. • Routing ID: contains a unique number that identifies the route request if A_Event is indicating a route request (that is, the Return Field contains an “R”). This number is needed if the A_RouteSel action is used to respond to the route request. If the Routing ID is not known, the value returned is 0. • Cause Value: returns an error cause from the switch if the request to route the call is not successful. Note that the error cause is returned if the Return Field contains a value of “r” or 114 (indicating an ABNORMAL ROUTE END event). Possible error causes include the following: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 511 8 Using Optional Features Using ASAI ~ “0”: The Destination Number provided in the A_RouteSel action is invalid and does not exist on the switch. ~ “1”: The switch is unable to route the call to the Destination Number because the destination is busy (that is, the destination currently has an active call). ~ “8”: The call dropped while waiting for a routing response. The caller probably hung up before the call has been routed. ~ “12”: The vector processing on the switch encountered steps other than wait, announcement, goto, or stop after the adjunct routing command. ~ “13”: Upon routing to the Destination Number (for direct agent call), the Destination Number is not logged in to the specified Split Extension. ~ “14”: The Destination Number (for direct agent call) is not a member of the specified Split Extension in the A_RouteSel action step. Each ABANDON, CONNECT, END, ROUTE REQUEST, TRUNK SEIZURE, and ABNORMAL ROUTE END event returns information pertaining to the event. Table 43 on page 516 indicates what fields the A_Event action step returns for each event. • Universal Call Id: contains the unique identifier or tag for each call. If this call is a transfer, the contents of this field is returned to the A_RouteSel action step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 512 8 Using Optional Features Using ASAI • User to User Info: contains the user-to-user information element received from the DEFINITY. This field can contain any customer-setable information to passed by the script along the network. • ANI II Digits: contains a number (0< II < 99) that describes the class of service of the calling customer (residential, coin, wireless, etc). This value is used for North American inbound ISDN-PRI trunks. • Return Field: a return code indicating what type of event (if any) is being reported. If the A_Event action is successful, it returns a number greater than or equal to zero. See Table 44 on page 518 for additional information. If A_Event is unsuccessful, it returns one of the following negative values. ~ -1: A_Event could not send the request for call information. Check the Message Log Report for system errors. See Chapter 8, “Common Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for additional information. ~ -2: A_Event did not receive a response from the ASAI for the request for information. Check to see if the ASAI system is running. See the maintenance book for your platform for more information. ~ -4: The ASAI link is down and call information cannot be received from the switch. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 513 8 Using Optional Features Using ASAI ~ -5: The system received an illegal request. The channel requesting the information is not a channel assigned by an ASAI domain to receive event messages. Make certain that you are using A_Event only in a non-voice script. When developing a program using Script Builder, A_Event returns an integer value in the Return Field to indicate the type of event (ABANDON, END, CONNECT, ROUTE REQUEST, TRUNK SEIZURE, or ABNORMAL ROUTE END) that is being reported. The possible values 65, 67, 69, 82, 84, or 114 correspond to the ASCII representation of the first letter for each type of message. For example, if an ABANDON is being reported, you can use the following evaluate statement: Evaluate: if ReturnCode = “‘A’” is the same as if ReturnCode = 65 65 = “‘A’” — ABANDON 67 = “‘C’” — CONNECT 69 = “‘E’” — END 82 = “‘R’” — ROUTE REQUEST 84 = “‘T’” — TRUNK SEIZURE 114 = “‘r’” — ABNORMAL ROUTE END Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 514 8 Using Optional Features Table 42. Using ASAI A_Event Fields Field Input/Output Required? Field Type Field Size Connected Party Number Output Required Char 20 Calling Party Number Output Required Char 20 Called Party Number Output Required Char 20 Switch Data Output Required Char 16 Trunk Group Id Output Required Num – Call Id Output Required Num – Other Call Id Output Required Num – LAI Display Info Ouput Required Char 15 VIS Data Output Required Char 20 Routing ID Output Required Num – Cause Value Output Required Num – Universal Call Id Output Optional Char 20 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 515 8 Using Optional Features Table 42. Using ASAI A_Event Fields Field Input/Output Required? Field Type Field Size User to User Info Output Optional Char 32 ANI II Digits Output Optional Num – Return Field Ouput Optional Num – 2 of 2 Table 43. Fields Returned by A_Event for Each Event A_Event Field Event (X if field returned) TRUNKSZR CONNECT ABANDON END ROUTE REQUEST ABNORMAL ROUTE END Connected Party Number X Calling Party Number X X X Called Party Number X X X Switch Data X X X Trunk Group Id X X X 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 516 8 Using Optional Features Table 43. Using ASAI Fields Returned by A_Event for Each Event A_Event Field Event (X if field returned) TRUNKSZR CONNECT ABANDON END ROUTE REQUEST ABNORMAL ROUTE END Call Id X X X Other Call Id X X LAI Display Info X X VIS Data X Routing ID —* Cause Value X X X Universal Call Id X X X User to User Info X X X ANI II Digits X X X Return Value X X X 2 of 2 * The Routing ID field returns the ASAI cluster Id of the domain that reported these events. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 517 8 Using Optional Features Table 44. Using ASAI A_Event Return Field Value Meaning Return Value Meaning Explanation 65 ABANDON The caller abandoned the call before the agent answered it. 67 CONNECT If CONNECT is sent on alerting message, this indicates that the agent specified in the Connected Number field has been alerted. If CONNECT is sent on connect message, then this indicates that the agent specified in the Connected Number field has answered the call. 69 END The call ended. The caller has been disconnected or has hung up after the call was answered by an agent. 82 ROUTE REQUEST The switch is requesting that the call be routed by the system. The number to be routed is in the Called Number field. The Routing ID field contains an identifier that must be used in the corresponding Routing ID field of the A_RouteSel action. 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 518 8 Using Optional Features Table 44. Using ASAI A_Event Return Field Value Meaning Return Value Meaning Explanation 84 TRUNK SEIZURE A E1/T1 channel answered the call. The Connected Number field is set to “TRUNK.” In order to receive this return value, the A_Event TRUNK parameter in the /vs/data/asai/parameters file must be changed to “1” and the voice sytem must be restarted. 114 ABNORMAL ROUTE END The switch indicates that the routing was unsuccessful. Either the Destination Number or the Split Extension specified in the A_RouteSel action is invalid, the call was abandoned before a route selection was made, or vector processing was administered incorrectly. Check the Cause Value field for the specific reason. 2 of 2 Defining A_RouteSel The A_RouteSel action is used to send an ASAI route message to the PBX. The A_RouteSel action is used in conjunction with the A_Event action and can be used to construct scripts assigned to Route (RTE) type domains. Note: Do not use the A_RouteSel action step in scripts assigned to Control (CTL), Automatic Call Distribution (ACD), or Vector Directory Number (VDN) type domains, or in voice scripts. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 519 8 Using Optional Features Using ASAI To add the A_RouteSel action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > A_RouteSel The system inserts the A_RouteSel action step in the transaction. 3 Highlight the A_RouteSel action step. 4 Press F4 (Define). The system displays the Define A_RouteSel window (Figure 143 on page 521). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 520 8 Using Optional Features Figure 143. Defining the A_RouteSel Fields Using ASAI Define A_RouteSel Window Each of the fields in the Define A_RouteSel window must contain a field name or constant which returns the following information. See Table on page 525 for a summary of the information in each of these fields. ! CAUTION: Specify only num field types or constants for fields of type num. • Destination Number: contains either a number or the name of a field that contains a number indicating where the call is to be routed. It must be a valid extension number (for example, ACD hunt group extension, VDN, or station) or external address (for example, Direct Distance Dialing Number), and can be up to 20 digits in length. If calls are routed to a number that is not on the switch, the Destination Number can contain a Trunk Access Code or Automatic Alternate Routing/Automatic Route Selection prefix digit. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 521 8 Using Optional Features Note: Using ASAI A route request can be rejected by setting the field identified by the Destination Number field to the null string. In this case, the call will not be adjunct routed. Subsequent treatment for the call depends on what type of default vector processing has been administered on the switch. • Split Extension: is used only for direct agent calls. This field contains either a number or the name of a field that contains a number identifying a valid ACD split. The Split Extension can be up to 5 digits in length. If this field is used, the call is treated as a direct agent call and routed to the agent identified in the Destination Number field via the split identified in the Split Extension field. If the Split Extension field contains no digits (null value), the call is treated as a normal call rather than a direct agent call. An empty split extension is entered by leaving the field blank as opposed to entering “ “. • Priority Call: indicates whether the call is to be delivered as a regular or priority call. This field must contain either yes or no or a field name which can contain either of these two values. Select yes if you want the call delivered as a priority call. Select no if you want the call delivered as a regular call. If you do not select yes, the call is delivered as a regular call. • Routing ID: contains a unique number that identifies the call being routed. This value must match the Routing ID previously retrieved in the A_Event action. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 522 8 Using Optional Features Using ASAI • Cause Value: returns an error cause if the route select is not successful. Note that the error cause is returned if the Return Field contains a value of -3. See the maintenance book for your platform for more information. • User to User Info: contains the user-to-user information element to be sent to the DEFINITY. This field can contain any customer-setable information to passed by the script along the network. • Return Field: contains a return code indicating whether the action was successful. If the A_RouteSel action is successful, it returns a number greater than or equal to zero. If A_RouteSel is unsuccessful, it returns one of the following negative values: ~ -1: A_RouteSel could not send the request to route the call to ASAI. Check the Message Log Report for system errors. See Chapter 8, “Common Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information. ~ -2: A_RouteSel did not receive a response from the ASAI for the request to route the call. Check to see if the ASAI system is running. ~ -3: The ASAI system could not route the call. Check the Cause Value field for information on why the call could not be routed. ~ -4: The ASAI Link is down and route select information cannot be received from the switch. See the maintenance book for your platform for information on troubleshooting the ASAI digital link. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 523 8 Using Optional Features Using ASAI ~ -5: The system received an illegal request. The channel using A_RouteSel is not for a RTE domain. A_RouteSel is being used in a script that has not been assigned to an RTE domain. See Chapter 4, “Feature Package Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information on assigning A_RouteSel to a domain. ~ -6: The switch did not respond after receiving the route select information. ~ -7: Bad Routing ID. The Routing ID specified in A_RouteSel is invalid. Check to make sure that the same Routing ID received from ROUTE REQUEST Event is used in the A_RouteSel action. ~ -8: The call is no longer active. ~ -9: ASAI could not send the request the switch. See the maintenance book for your platform for information on troubleshooting the ASAI digital link. ~ “53”: Bad Routing ID. The Routing ID specified in A_RouteSel is invalid. Check to make sure that the same Routing ID received from ROUTE REQUEST Event is used in the A_RouteSel action. ~ -11: The Destination Number exceeds 20 characters. ~ -13: The Split Extension exceeds 5 characters. ~ -15: The Routing ID is 0 or less. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 524 8 Using Optional Features Defining conv_data Table 45. A_RouteSel Fields Field Input/Output Required? Field Type Field Size Destination Number Input Required Char 20 Split Extension Input Optional Char 5 Priority Call? Input Required Char 3 Routing ID Input Required Num – Cause Value Output Required Num – User to User Info Input Optional Char 32 Return Field Output Optional Num – Defining conv_data The conv_data action step facilitates the creation of a two-way routing mechanism between the switch and the Intuity CONVERSANT system. This enables data, in the form of touch tones, to be received from the switch at the beginning of a transaction (data passing). Applications residing in the system can be accessed and initiated, and data can be collected and sent back to the switch at the end of the transaction (data return). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 525 8 Using Optional Features Defining conv_data This action is used in conjunction with the Prompt & Collect action step for each application that the switch accesses and initiates. The Prompt & Collect action step is used in the transaction to implement data passing from the DEFINITY ECS. Without the use of the converse vector command on the DEFINITY ECS, once a call terminates on a system channel, it is no longer under the control of the switch. It is then up to the system to process the transaction further and route the response back to the switch by using the Transfer Call action. ! CAUTION: You cannot use the Transfer Call action on a converse vector call. With the converse vector command, control over call-routing is retained by the switch. • The conv_data (converse data return) action is applicable only when the Intuity CONVERSANT system is used with the DEFINITY ECS or other compatible switch. The conv_data action supports the DEFINITY ECS call vectoring (routing) feature by enabling the switch to retain control of vector processing in the system environment. It specifically supports the DEFINITY ECS converse vector command. • The conv_data action step can only be implemented on Tip/Ring and Line Side E1/T1 (LSE1/LST1) channels. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 526 8 Using Optional Features Defining conv_data • If the conv_data action step is implemented on LSE1/LST1 channels, the Converse First Data Delay parameter on the Systems-Parameters Features screen on DEFINITY ECS must be set to 1 instead of zero (default setting). • Unlike Tip/Ring channels which wait to encounter a dial tone before returning the Converse Data digits, LSE1/LST1 channels will not listen for a dial tone. They function in accordance with the delay intervals identified on the Dial Tone Delay parameter field of the Intuity CONVERSANT system Digital Protocols screen. With heavy traffic on the DEFINITY ECS, this pre-established time lag on an LSE1/LST1 channel can be too short for a dial-tone to be encountered in time for the Converse Data digits to be returned. This exception can be avoided on LSE1/LST1 channels, either by lengthening the Dial Tone Delay parameter, or by increasing the number of Touch Tone receivers on the DEFINITY ECS. Additionally, applications running on these channels could be designed to report an error condition if the returned Converse Data digits are not fully received by the switch. See Chapter 4, “Converse Vector Step Routing,” in Intuity CONVERSANT System Version 7.0 Communication Development, 585-313-202, for information on establishing the converse vector interface. Defining a transaction to use the converse vector command is a two-step process. The first step involves defining parameters to facilitate data-passing from the switch within the framework of the application being developed. This Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 527 8 Using Optional Features Defining conv_data is accomplished through the Define Prompt and Collect screens. The second step involves defining data-return parameters to enable the collected data to be sent back to the switch. Defining Data-Passing Parameters The basic purpose of using the Prompt & Collect action step is to define datapassing parameters. First, in order to get meaningful data from the switch, input fields must be defined (for example, the number of touch-tone characters expected, identification of fields in which the characters are to be placed, etc). Second, the data received from the switch could be analyzed for further processing at the system level. The first step involves setting data-passing parameters for up to two actions on the Define Prompt and Collect screens. The number of actions to be performed by an application must match the number of specified actions received from the switch at the beginning of the transaction. In addition, the converse vector command on the DEFINITY ECS enables up to two groups of touch tones, data1 and data2, to be passed to the Intuity CONVERSANT system. Each group requires a separate definition on the Prompt & Collect screens. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 528 8 Using Optional Features Note: Defining conv_data The Define Prompt and Collect INPUT and CHECKLIST screens (page 2 and 3) used for data-passing parameters are identical to those described in Chapter 7, Defining the Transaction. The Define Prompt and Collect INPUT screen (page 1) is not applicable. When you define the Prompt & Collect action step from the Action Choice menu, the Define Prompt and Collect INPUT screen opens. Use the N EX TPA GE and P RE VPA GE keys to move between page 2 or page 3, successively. Once both pages have been defined, press the C LO SE function key to post the details of the action step to the transaction. Following is an explanation of each input case, and how it pertains to the conv_data action. • Input OK: This case signifies that a digit string was received. ~ Voice Response: This field is not applicable and should be left blank. ~ Action: This field defaults to Continue when valid input has been received. This field is not applicable to the Continue action and should be left blank. ~ Action Data: • Initial Timeout: This case signifies that no digits were received before the timeout interval expired. ~ Voice Response: This field should be left blank. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 529 8 Using Optional Features Defining conv_data ~ Action: This field defaults to Reprompt, but should be changed to Quit because the DEFINITY ECS only attempts to send digits once. ~ Action Data: This field is not applicable and should be left blank. • Too Few Digits: This case is not applicable (the minimum digits entered is one). ~ Voice Response: This field is not applicable and should be left blank. ~ Action: This field defaults to Reprompt but should be changed to Quit because the DEFINITY ECS only attempts to send digits once. ~ Action Data: This field is not applicable and should be left blank. • No More Tries: This case is not applicable (only a single try is allowed for the conv_data action). ~ Voice Response: This field is not applicable and should be left blank. ~ Action: This field defaults to Quit and should not be changed. ~ Action Data: This field is not applicable and should be left blank. Defining Data-Return Parameters After the data-passing phase of a transaction has been completed, the system processes information to determine the sequence of touch tones to be sent back to the DEFINITY ECS during the data-return phase. The Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 530 8 Using Optional Features Defining conv_data conv_data action requires several parameters to be defined that would facilitate this data return. To define these parameters: 1 From the Action Choices menu (Figure 113 on page 436), select: ’ > conv_data The system inserts the conv_data action step in the transaction. 2 Highlight the conv_data action step. 3 Press F4 (Define). The system displays the Define conv_data screen (Figure 144 on page 532). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 531 8 Using Optional Features Figure 144. Defining conv_data Define conv_data screen Define conv_data Feature Access Code: Data return field #1: Data return field #2: Data return field #3: Data return field #4: Return Field: You can define three types of data-return parameters on this screen. • Feature Access Code: Definition of this field is required. The DEFINITY ECS uses the FAC to administer the Converse Data Return return feature. This four-digit numeric field can be preceded by an asterisk (*) or a pound sign (#), in initial positions only, such as #9. You must defined this field to match the corresponding FAC code setup on the switch. For more information, see the DEFINITY Call Vectoring documentation. • Data return field #X: Definition of this field is optional. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 532 8 Using Optional Features Defining conv_data Up to four Data return field strings can accompany the caller responses being returned to the switch. Each of these numeric fields can be as long as 24 digits, but the total number of digits in all four fields cannot exceed 24 digits. • Return Field: Definition of this field is optional. The Intuity CONVERSANT system application can be designed to take action on a return code from the conv_data action. The field in which the return code will be stored, and consequently be acted upon, can be identified here. After the conv_data action has been completed, this field will be set with the following values: ~ 0: Data has been successfully sent back to the DEFINITY ECS. With the LSE1/LST1, a failure to recognize a dial tone will not be reported because these protocols do not listen for a dial tone. A value of zero will be returned. ~ -1: Hardware/software error ~ -2: Failed to send data – No stutter dial-tone after flash (Tip/Ring only). ~ -3: Failed to send data – No steady dial-tone after FAC (Tip/Ring only). Note: The conv_data action executes a flash, and then transmits the digits contained in the Feature Access Code and Data return fields. The duration of this flash must be set at 600 msec in the Analog Interfaces menu for Tip/Ring lines, and in the Digital Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 533 8 Using Optional Features Defining conv_data Protocols menu for LSE1/LST1 lines. See Chapter 5, “Switch Interface Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more details. Note: conv_data: The conv_data action should be followed by a Quit action step. The channel is on hook until this Quit action is executed. Tips • When implemented, the $CI_VALUE and $CI_NO_DIGS_GOT fields on the Define Prompt and Collect INPUT screen contain the value of the touch-tone digits received, and their total number, respectively. These fields can then be used for further script processing if required by the application. Noted that the terminating digit, “#,” is not included in the former field nor is it counted in the latter. • The conv_data action step recognizes the type of channel being used so that it can determine whether or not to use dial tone detection. On Tip/Ring channels with dial tone detection, the system tries to return data to an excessively loaded switch three times. It does not retry sending data to the switch on an LSE1/LST1 channel, which presently does not have dial tone detection capability. • The Action field in the Initial Timeout case defined on the Standard Checklist defaults to Reprompt. It should be changed to Quit because the switch only sends digits to the Intuity CONVERSANT system once. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 534 8 Using Optional Features Using Call Classification Analysis Alternatively, this field could be changed to Continue if the system is expected to process the error and send relevant data back to the switch during the data return phase of the transaction. The choice of strategy depends on the application objectives and the most comprehensive method of presenting the diagnostic information. Using Call Classification Analysis Full Call Classification Analysis (CCA) can be activated when a call is dialed out during a flash transfer, a call bridge (internal transfer), or a make call (call originate). These translate to three action steps available in Script Builder. For accurate transfer results, assign Full CCA only to an SP circuit card. The Full CCA feature is available for US and Canada. Full CCA Call Dispositions Table 46 on page 536 shows the call dispositions available to Script Builder. The call dispositions apply when using either Full CCA with the Transfer Call, Call Bridge, or Make Call action steps. See Chapter 7, Defining the Transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 535 8 Using Optional Features Note: Table 46. Using Call Classification Analysis Modem tone detection is listed only for Tip/Ring and Line Side E1/T1 (LSE1/LST1) calls. With PRI, T1 (E&M), and E1 (CAS) lines, answer supervision normally is detected first, precluding modem tone detection. For these lines, a call disposition of “A” is returned. Call Classification Analysis Call Dispositions $TRANSFER_RESULT Meaning “X” Blind transfer success “A” Answer detected “B” Busy “N” Ring, no answer “F” Fast busy “H” High and dry “T” Modem tone “t” Touch-tone entry detected “v” PRI 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 536 8 Using Optional Features Table 46. Using Call Classification Analysis Call Classification Analysis Call Dispositions $TRANSFER_RESULT Meaning “1” Internal error, dialing error, or unexpected response from switch or PBX “2” Timeout “3” Invalid dial string “4” Resource busy or unavailable “R” Reorder, intraLATA (Special Information Tone [SIT]) “r” Reorder, interLATA (SIT) “K” No circuit, intraLATA (SIT) “k” No circuit, interLATA (SIT) “V” Vacant code (SIT) “l” Intercept (SIT) “O” Ineffective other (SIT) “d” Domestic other (SIT) “o” International other (SIT) 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 537 8 Using Optional Features Table 46. Using PRI Call Classification Analysis Call Dispositions $TRANSFER_RESULT Meaning “c” International no circuit (SIT) “f” Foreign fail (SIT) “U” Unknown Special Information Tone (SIT) “h” Caller was disconnected during transfer (applies only when the optional feature Sending DTMF Feedback Tones to the VRU is properly configured) 3 of 3 Using PRI This section contains descriptions of the Script Builder screens and menus for the ISDN Primary Rate Interface (PRI) feature. These include: • Action steps (ISDN_billing and ISDN_service) • External function (Attr_ANI) For more information on external functions, see Chapter 11, Using Advanced Features. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 538 8 Using Optional Features Using PRI In addition, the following call control action steps are supported for use with PRI and can be used as they are for E1/T1. See Chapter 7, Defining the Transaction, for more information about each of these action steps. • Answer • Disconnect • Make Call • Call Bridge Note: The Call Transfer action step is not supported for use with PRI because the protocol does not support the transfer function. The ISDN Primary Rate Interface feature package allows the system to communicate directly with a Lucent Technologies or AT&T private branch exchange (PBX) or switch using the AT&T ISDN Primary Rate Interface (PRI). The ISDN PRI is a digital interface and therefore only supports E1 or T1 line usage. On incoming calls, Script Builder has direct access to ANI and DNIS. The redirecting number and service type are provided by PRI and are available on the system through advanced methods (TAS and IRAPI). On outgoing calls, Script Builder has built-in support for providing called number and service type. Outbound ANI and bearer capability can be provided for outgoing PRI calls through advanced methods (TAS and IRAPI). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 539 8 Using Optional Features Note: Using PRI You can use the ANI and DNIS to specify an application for a caller by assigning *DNIS_SVC to a channel in the Assign Channel Service screen. Then assign ranges of ANIs and DNISs in the Assign Number Service screen. Specify the application in the Service Name field. See Chapter 4, “Feature Package Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. See Intuity CONVERSANT System Version 7.0 Communication Development, 585-313-202, for information on establishing the PRI interface. See Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on assigning PRI. See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for information on PRI Script Instructions. If you have the Advanced PRI Feature Package (available to selected business partners), see Intuity CONVERSANT System Version 7.0 Advanced PRI Developer’s Guide provided with the feature package for more information about special ISDN PRI signaling needs. Defining ISDN_billing The billing feature retrieves the billing number on an incoming call. The billing number is called the calling party number or is sometimes referred to as automatic number identification (ANI). The ISDN_billing external action provides the billing number for incoming calls. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 540 8 Using Optional Features Using PRI In cases where the PRI facility subscribes to the billing number (ANI is defined for all calls), the billing number always is available to the application. However, for facilities that do not subscribe to the billing number, the number must be requested by applications on a call-by-call basis. In this case, you also must use the Attr_ANI external function described later in this chapter. To define the ISDN_billing external action: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > ISDN_Billing The system inserts the External Action: ISDN_Billing in the transaction. 3 Highlight External Action: ISDN_Billing. 4 Press F4 (Define). The system displays the Define Billing Number window (Figure 145 on page 542) appears. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 541 8 Using Optional Features Figure 145. Using PRI Define Billing Number Window 5 In the Billing Number field, specify the Script Builder numeric variable to which the billing number is to be copied. Press F2 (Choices) to select an existing Script Builder variable or type a new variable. 6 Return Field: is an optional field. You can specify the return code in this field. Note that the Return Field should never contain a value less than zero. Requesting ANI for Inbound Calls An external function, Attr_ANI, is included with the ISDN PRI package. This function allows you to request the billing number for incoming calls on a callby-call basis, if you have a compatible switch. For facilities that subscribe to ANI, ANI is always available to the application. In this case, there is no need to use this external function. For facilities that do not subscribe to ANI, ANI can be requested by including this external function in the application script. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 542 8 Using Optional Features Using PRI To set Attr_ANI for an application: 1 With the cursor in the desired position in the Define Transaction screen, press F1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > External Function 3 Press F6 (CANCEL). 4 Press F4 (Define). The system displays the Define External Function screen (Figure 103 on page 397). 5 Enter Attr_ANI and then press F3 (Close). Defining Service Type for Outbound Calls The ISDN_service external action allows an application to choose the service type for outgoing PRI calls. If this external action is not used, no service is specified for the call and the type is based on the way that the PRI is Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 543 8 Using Optional Features Using PRI provisioned or administered at the switch. You must place this external action in the application before the part that originates the call. Note: Make sure that the switch is provisioned to support the service type you specify. This service type applies to any subsequent originations on this channel until the script terminates, and also to any call bridge initiated from this channel. See Chapter 7, Defining the Transaction, for information on the Make Call and Call Bridge action steps. To specify the service type: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > ISDN_Service The system inserts the External Action: ISDN_Servive in the transaction. 3 Highlight External Action: ISDN_Service. 4 Press F4 (Define). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 544 8 Using Optional Features Using PRI The system displays the Define Service Type window (Figure 146 on page 545). Figure 146. Define Service Type Window 5 Service Type: is an optional field that specifies the service type to be used for outgoing calls. Press F2 (Choices) to select from a menu of service types. The following choices are displayed: ~ ACCUNET ~ DIALITNOVA ~ ETN ~ I800 ~ INWATS ~ MEGACOM ~ MEGACOM800 ~ NODAL_LDS ~ PRIVATE_LINE Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 545 8 Using Optional Features Using PRI ~ RESERVED_CNO ~ SDN ~ WATS Select the service type that you want from those available with your network connections. Note: The listed Service Types are not valid for all switches supported by the PRI package. 6 Return Field: is an optional field. You can specify the return code in this field. If the external action fails to set any of the attributes, this field contains a value less than zero. Defining UCID Functions The following external functions provides UCID capabilities on PRI in a DEFINITY call center environment: • get_ucid • get_uui • set_uui For more information about these functions, see UCID Functions on page 732 in Chapter 11, Using Advanced Features. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 546 8 Using Optional Features Using Form Filler Plus Using Form Filler Plus The Form Filler Plus feature provides the ability for applications to record caller’s responses to prompts for later transcription and review. Form Filler Plus uses the FF_Code and the FF_Store action steps in Script Builder. Caller responses are stored in the Form Filler Plus database, which is accomplished through the FF_Store action step. The responses can be retrieved at a later time using the Form Retriever transcription script. As many as ten responses (1 to 999 seconds each) can be recorded per action step, and up to ten action steps are allowed per application. This section includes descriptions of the Script Builder screens and menus for the Form Filler Plus actions. Customizing a Form Filler Plus Application The Script Builder application template FFtemplate is provided with the Form Filler Plus package. You can use this template to develop a customized Form Filler Plus application. FFtemplate contains several generic Announce and Prompt & Collect statements that can be used for questioning a caller. This template also provides an example of the Form Filler Plus FF_Code and the FF_Store action steps. By making a copy of FFtemplate, and then modifying the generic prompts, you can easily design a custom application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 547 8 Using Optional Features Using Form Filler Plus Error-Handling Capabilities Whether you use the Form Filler application template or the actions provided with the Form Filler Plus package to develop a customized application, this feature package facilitates the development of voice capture and transcription scripts. Using Form Filler Plus, application developers are able to select the coding rate that best suits their application. They also have access to the advanced error-handling capabilities available with this feature, including the ability to store partial messages in the event that the caller makes an error in the response or hangs up too soon after a prompt. Form Filler Plus Reports The Form Filler Plus feature includes the Form Filler Plus Call Record Summary Report and the Form Filler Plus Last Audit Report. The Call Record Summary Report lists a summary of call records in the Form Filler Plus database for each script ID and provides disk-usage statistics for the speech filesystem. The Form Filler Plus Last Audit Report runs each time the voice system is started, and it checks the Form Filler Plus database for consistency with the talkfile where caller responses are stored. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 548 8 Using Optional Features Using Form Filler Plus Form Filler Plus Action Steps As mentioned above, two action steps are associated with the Form Filler Plus feature. These action steps provide the following capabilities: • FF_Code Codes or records a session with up to 10 individual speech phrases per call from a caller. • FF_Store Stores the recorded phrases and associated script identifications in the Form Filler Plus database. Using FF_Code The Form Filler Plus Code action step (FF_Code) can be included in an application up to 10 times to record a caller’s response to a voice form prompt. Each FF_Code action step records a phrase from the caller and stores the phrase internally until the FF_Store action step is used to put all phrases for the call into the Form Filler Plus database. Note: The maximum number of speech phrases that can be recorded is set by the system at installation. See Chapter 4, “Features,” in Intuity CONVERSANT System Version 7.0 System Description, 585-313-204, for additional information on speech storage capacities. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 549 8 Using Optional Features Using Form Filler Plus To add the FF_Code action step to a transaction, perform the following procedure: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > FF_Code The system inserts the FF_Code action step in the transaction. 3 Highlight the FF_Code action step. 4 Press F4 (Define). The system displays the Define Form Filler Coding window (Figure 147 on page 551). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 550 8 Using Optional Features Using Form Filler Plus Figure 147. Define Form Filler Coding Window 5 Enter a valid entry for the Code Rate and Type field. This defines the code rate and format type for recording speech using the Form Filler Plus feature. Valid entries for this field are ADPCM_16, ADPCM_32, CELP_16, SBC_16, or SBC_24. The default value is ADPCM_16. To change the default value, press Choices to make a selection from a menu. Note that higher coding rates provide better quality recording but use more disk space to store the message. See Message Coding: Tips on page 381 in Chapter 7, Defining the Transaction for message coding tips. 6 Enter a maximum phrase length in the Maximum Phrase Length field. This field allows you to define the maximum phrase length (in seconds) of the phrase to be coded. The default value is 20 seconds. Valid ranges are from 1 to 999 seconds. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 551 8 Using Optional Features Using Form Filler Plus 7 Enter the number that identifies the particular script that stores the call records in the Form Filler Plus database. This field is a required field that identifies the particular script storing call records in the Form Filler Plus database. A valid Script Identification is a numeric string of 1 to 6 digits. Note that leading zeros in a Script Identification are not significant. For example, the string “09” entered in this field will be changed to “9.” The Script Identification field is used by FF_Store to save recorded phrases in a database record. Therefore, make sure that you enter the exact Script Identification for all instances of FF_Code in a script. Note: If you wish to change a Script Identification, you must change the Script Identification for each occurrence of FF_Code in the script. 8 In the Hangup Indication field, enter the action to be taken if hangup is detected. This field defines what action will be taken if hangup is detected. If the Hangup Indication is enabled, recorded phrases from callers who disconnect before the script is complete are stored automatically in the Form Filler Plus database. If the Hangup Indication is disabled, the script deletes any recorded phrases from callers who hang up before the script is complete. The default value is Enable. To change the default value, enter Disable or press F2 (CHOICES) to make a selection from a menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 552 8 Using Optional Features Using Form Filler Plus 9 Enter a replacement phrase in the Re-Record Phrase field. Re-Record Phrase is an optional field that enables you to replace the previous recorded phrase with a new phrase. The default value is “No”, which means that FF_Code will add a newly-recorded phrase to those being accumulated for the Form Filler Plus call record. To enable the ReRecord Phrase option, select yes in the Re-Record Phrase field. If the Re-Record Phrase option is enabled, a phrase successfully recorded by the previous call to FF_Code will be replaced with a newly-recorded phrase. This option is useful for allowing the caller to re-record a response to the previous Form Filler Plus prompt (perhaps after being allowed to listen to it). If the previous call to FF_Code was unsuccessful or if there was no previous FF_Code, this option has no effect (that is, no is assumed). ! CAUTION: Once FF_Code is called with the Re-Record Phrase option set to “Yes,” the phrase from the previous FF_Code (if any) is removed before coding the replacement phrase. Note: Calls to FF_Code that are used to re-record a phrase are not included in the limit of 10 calls per application. 10 Enter the variable to store the talkfile and phrase number in the Talk File/Phrase Number field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 553 8 Using Optional Features Using Form Filler Plus This field contains the name of the variable to store the combined talkfile and phrase number in NX format or a zero (0) if a phrase was not recorded from the FF_Code action. 11 Enter the variable to store a return code in the Return Field field. This field contains the name of the variable to store a “return code” from the action script. If the Form Filler Plus Code action step is successful, it returns the actual duration of the phrase in seconds. If the instruction is unsuccessful, it returns a negative value. Valid return code values are: ~ 1 – 999: Length of successfully recorded phrase (in seconds) ~ -1: Voice coding failure ~ -2: Voice coding timeout (that is, initial 5 seconds passed with nothing spoken by caller or 0 length phrase detected) ~ -20: FF_Code has been called more than 10 times in the call session ~ -555: Insufficient space on speech file system to store recorded phrases Note: See the maintenance book for your platform for additional information on what to do if Form Filler Plus Coding is unsuccessful. 12 Press F3 (Close) after the user-defined entries for the Define Form Filler Coding screen are completed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 554 8 Using Optional Features FF_Code: Tips Using Form Filler Plus This section includes tips for using the FF_Code action step in your application. Timeouts FF_Code explicitly sets initial and inter-word silence timeouts for voice coding to 5 seconds. More than 5 seconds of initial silence while voice coding causes FF_Code to fail with a -2 return value. A silence between words of more than 5 seconds causes FF_Code to terminate voice coding and return the length (in seconds) of the recorded phrase. Pressing a touch tone (TT) terminates voice coding immediately and returns the length of the phrase. Voice coding also terminates immediately when the maximum coding length is reached. Using an External Function for Hangup Processing Note: The following information applies only if you are using an external function (written at the TSM script level) to perform hangup processing with the event script instruction. The first call to FF_Code changes the default action for the EHANGUP script event to process any recorded phrases according to the current setting of the hangup indicator. See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for a discussion of the event() instruction. Hangup processing is not reset to the default until the FF_Store action is used. This is done because the script can not detect the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 555 8 Using Optional Features Using Form Filler Plus hangup while in FF_Code, and a Form Filler Plus application script must be able to save or delete any recorded phrases if a hangup occurs at any time between the first FF_Code and a call to FF_Store. If the script has set the EHANGUP event before the first FF_Code to cause a jump to a specific subroutine, that subroutine offset is saved so that it can be restored by FF_Store. If a hangup is detected before the original subroutine is restored, the FF_Code hangup subroutine jumps to the original subroutine after it has processed the event (by either saving or deleting any recorded phrases). The most conservative use of the hangup indicator is to enable it for all instances of FF_Code in the script. This will ensure that a call record is saved at any time the caller hangs up after the first FF_Code. Form Filler Plus Transcribers can remove records that are too incomplete to be useful. Another possibility is to disable the hangup indicator for all instances of FF_Code. This will ensure that no record will be stored unless all responses in the form have been recorded. When the hangup indicator is disabled for the last FF_Code, FF_Store should be called immediately after the last FF_Code. Consequently, if this approach is taken, remember to call FF_Store immediately after the last FF_Code. The script should not take any action which causes a wait condition (for example, database access, Prompt & Collect, play announcement). If the script waits before doing the FF_Store, hangup can be detected during the wait. This causes the record to be deleted (even though all phrases have been recorded). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 556 8 Using Optional Features Using Form Filler Plus Yet another possibility is to have the hangup indicator disabled for some of the earlier prompts in the form and enabled for all later prompts. For example, if a form asks a caller to record a name, address and telephone number in three different prompts, you can disable the hangup indicator for the name recording and enable it for the address and telephone number recordings. This indicates that the record should not be saved if the caller hangs up after recording only the name, but should be saved if the name and address are both recorded. In this situation, there is still a possibility that a record with only a name recorded will be saved depending on when the caller hangs up and how quickly the switch sends the “wink disconnect” or “dialtone” indication to the system after the hangup. Depending on the switch being used, it can take from 5 to 15 seconds (or longer) from the time when a caller hangs up the telephone to the time when the script detects the hangup. You may want to experiment to determine the characteristics of your system. Consequently, it is possible that a caller can hangup during one instance of FF_Code, but the hangup is not detected until the next FF_Code is performed, possibly with a different setting for the hangup detect flag. In the above example, the record will be saved if a hangup condition is not detected before the FF_Code for the address is executed, even though the caller can have actually hung up before being prompted to record the address. Using longer voice prompts between FF_Code actions can decrease the incidence of unwanted records being saved by the script since this gives the script more time to detect a hangup before proceeding to the next FF_Code. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 557 8 Using Optional Features Using FF_Store Using Form Filler Plus The Form Filler Plus Store action step (FF_Store) passes any phrases recorded by Form Filler Plus Code, along with the script identification number, to the Form Filler database. Note: Use the FF_Store action step only once per script immediately after the last FF_Code action step. If the script quits without doing an FF_Store, the phrases obtained by each previous FF_Code instruction remain in the speech talkfile, but there is no corresponding record for them in the Form Filler Plus database. The Form Filler Plus Last Audit deletes such phrases from the talkfile. However, this audit is run only when the voice system is being started, so running the voice system with a Form Filler Plus script that does not use FF_Store can eventually fill up the speech file system. See Chapter 8, “Daily Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on Form Filler Plus Last Audit Report. Note: If the caller hangs up before the script quits, the FF_Code action step deletes phrases or uses FF_Store to store them, depending on whether the hangup indicator is disabled or enabled. Nevertheless, the script must still use FF_Store to handle cases where the script completes before the caller hangs up. In this case, the hangup routine in FF_Code calls FF_Store. To define the FF_Store action step: 1 With the cursor in the desired position in the Define Transaction screen (Figure 60 on page 215), press F 1 (Add). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 558 8 Using Optional Features Using Form Filler Plus The system displays the Action Choices menu (Figure 113 on page 436). 2 Select: > FF_Store The system inserts the FF_Store action step in the transaction. 3 Highlight the FF_Store action step. 4 Press F4 (Define). The system displays the Define Form Filler Speech Store window (Figure 148 on page 559). Figure 148. Define Form Filler Speech Store Window 5 Enter a return code in the Return Field field. This field contains the name of the variable to store a “return code” from the action step. If the Form Filler Plus FF_Store action step is successful, it returns a positive value. If the instruction is unsuccessful, it returns a negative value. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 559 8 Using Optional Features Note: Using Form Filler Plus See the maintenance book for your platform for additional information on what to do if Form Filler Plus FF_Store is unsuccessful. Valid return code values are: ~ 0: Successful completion of FF_Store ~ -1: System (DIP) failure ~ -2: Invalid Script Identification used or too many calls to FF_Store per session ~ -999: System timeout (waiting for DIP response) 6 Press F3 (Close) to update the Form Filler Plus FF_Store action step in the Define Transaction list. Using the Form Retriever The Form Filler Plus Transcribe application will play back records that were created using the Form Filler Plus application. After the Form Filler Plus feature package software is installed and the application is assigned to a channel or dialed number, Form Filler Plus users can retrieve caller responses by simply calling the Form Retriever (the transcription script). Alternatively, Form Filler Plus users can access the Form Retriever by using the Execute action access code. The Execute action starts a new script on a channel, replacing the channel that performed the Execute action. The Form Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 560 8 Using Optional Features Using Form Filler Plus Retriever will prompt the user for a mode (transcribe or review), password, and Script ID. (Transcribe and review mode passwords can be set when the Form Filler Plus package is installed, whereas the Script ID is provided to the FF_Code action by the Script Builder developer). Caller responses are retrieved by Script ID. The transcriber or reviewer can either choose to hear calls for a particular script by entering a Script ID or can choose to hear calls for the script with the oldest call record by entering an asterisk (*) to retrieve the script with the oldest record. Once a script is selected, call records are played from oldest to newest and each response recorded in a call record is played from first to last. Transcribers (using transcribe mode) can play and replay the recorded phrases in a new call record and either delete the record or mark it for review. Once the record is deleted or marked, the next oldest new call record for the Script ID is played. Reviewers (using review mode) can play and replay a call record that has previously been marked for review by a transcriber. Reviewers can then delete the record or skip it for later review. Once the record is deleted or skipped, the next oldest marked call record for the Script ID is played. An “undo” command enables the transcriber or reviewer to undo the previous delete, mark, or skip command and return to the previous call record. Although there is no limit to the number of transcribers that can use the application at any one time, only one individual can work on a particular call record at a time. The Form Retriever will bypass records that are being played by other users. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 561 8 Using Optional Features Using Form Filler Plus “Slow down” and “speed up” commands enable transcribers or reviewers to adjust the pause interval between each phrase that is played from a call record. The number of records deleted or marked for review will be announced at the termination of the transcription or review session, enabling Form Filler Plus users to note their activity. The Form Retriever prompts the caller for the “mode” and “password” and collects touch-tone input from the caller. The caller then selects a script to work on by entering a Script ID or by entering an asterisk (*) that instructs the system to select the script with the oldest remaining records. When the Form Filler Plus transcription session is initiated, callers are prompted with the following message: Form Filler Plus transcription session. Enter mode and password. End with the pound key. Mode Valid operating modes are “review” and “transcribe.” The caller specifies transcription mode by pressing 1 . The caller specifies review mode by pressing 0 . Password If a password was set during installation, the caller is allowed three attempts to enter a valid password. If the caller enters an invalid password on each of three attempts, the Form Retriever hangs up. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 562 8 Using Optional Features Script ID Using Form Filler Plus A valid Script ID is a sequence of 1 to 6 standard touch-tone digits (0–9). The Script ID can be terminated with a pound sign (#). The caller selects a script to work on by entering a Script ID or by entering an asterisk (*) that instructs the system to select the script with the oldest remaining record. The caller is allowed three attempts to enter a valid Script ID. If the caller enters an invalid Script ID on each of three attempts, the Form Retriever hangs up. After collecting the mode, password, and Script ID, Form Filler selects the script with the oldest record and then prompts the caller to enter a touch-tone command. Form Filler Plus Transcribe Commands The script prompts for and collects a touch-tone command from the caller. Table 47 on page 564 describes the transcribe commands available with the Form Filler Plus Form Retriever. Note: If the caller hangs up during the transcription session, the hang up is treated as if the caller entered the EXIT command. Upon exiting the current Form Filler session, the session announces the total number of records for review. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 563 8 Using Optional Features Table 47. Using Form Filler Plus Form Filler Plus Transcribe Command User Entry Command Name Command Result 0 PLAY ADMINISTRATION INFORMATION This command plays administration information for the record being transcribed, including the record ID, the Script ID to which the record belongs, and the number of records deleted and marked for review in the current transcription session. 1 DELETE RECORD This command removes the current record (all phrases) and proceed to the next record for the current script. Note that the UNDO command can be used to bring back the last record deleted with the DELETE RECORD command. 2 MARK RECORD FOR REVIEW This command marks the current record for review so that it can be reviewed at a later time. The MARK RECORD FOR REVIEW command then proceeds to the next oldest call record for the current script. The record marked for the review is not removed and is accessible only in review mode. Note that the UNDO command can be used to bring back the last record marked with the MARK RECORD FOR REVIEW command. 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 564 8 Using Optional Features Table 47. Using Form Filler Plus Form Filler Plus Transcribe Command User Entry Command Name Command Result 3 REPLAY RECORD This command replays all the phrases for the current call record from start to end. 4 UNDO This command brings back the record last deleted, skipped, or marked for review during the current transcription session or call and then plays that record. The UNDO command can be used any time before the next record is deleted or marked for review. It is not necessary that the DELETE RECORD or MARK RECORD FOR REVIEW command be the previous command. 5 SLOW DOWN This command lengthens the pause inserted between consecutive phrases in a record by 1/4-second increments up to a maximum of 1.5 seconds. The default pause interval is 2.5 seconds. The SLOW DOWN command then prompts for another command. 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 565 8 Using Optional Features Table 47. Using Form Filler Plus Form Filler Plus Transcribe Command User Entry Command Name Command Result 6 REPLAY PHRASE This command replays the phrase last heard or the last phrase interrupted. The REPLAY PHRASE command can not be used to back up to the previous phrase in the record. Use the REPLAY RECORD command to play the current call record again starting from the first phrase. 7 CHANGE SCRIPT ID This command prompts the caller for another Script ID while keeping the same mode and password. If the new Script ID does not have records associated with it, this command prompts the caller for Mode, Password, and Script ID. This command plays the next record while keeping the current one. 8 SPEED UP This command shortens the pause inserted between consecutive phrases in a record by 1/4-second increments to a minimum of 1.5 seconds. The default pause interval is 2.5 seconds. The SPEED UP command then prompts for another command. 9 EXIT This command announces the termination of the current session (such as call) and then hangs up. 3 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 566 8 Using Optional Features Form Filler Plus Review Commands Using Form Filler Plus As previously noted, the script will prompt for and collect a touch-tone command from the caller. Table 48 on page 567 describes the review commands available with the Form Filler Plus Form Retriever. Note: If the caller hangs up during the review session, the hang up is treated as if the caller entered the EXIT command. Upon exiting the current Form Filler session, the session announces the total number of records for review. Table 48. Form Filler Plus Review Commands User Entry Command Name Command Result 0 PLAY ADMINISTRATION INFORMATION This command plays administration information for the record being transcribed, including the record ID, the Script ID to which the record belongs, and the number of records deleted and marked for review in the current transcription session. 1 DELETE RECORD This command removes the current record (all phrases) and proceed to the next record for the current script. Note that the UNDO command can be used to bring back the last record deleted with the DELETE RECORD command. 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 567 8 Using Optional Features Using Form Filler Plus Table 48. Form Filler Plus Review Commands User Entry Command Name Command Result 2 GO TO THE NEXT RECORD This command skips to the next record and plays it. 3 REPLAY RECORD This command replays the record just heard. 4 UNDO This command brings back the record last deleted, skipped, or marked for review during the current transcription session (such as call), then plays the record that was retrieved. 5 SLOW DOWN This command increases the pause interval by 1/4second, unless it is at a maximum. The SLOW DOWN command then prompts for another command. 6 REPLAY PHRASE This command replays the last phrase heard or the last phrase interrupted. The REPLY PHRASE command plays the next record while keeping the current one. 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 568 8 Using Optional Features Using Form Filler Plus Table 48. Form Filler Plus Review Commands User Entry Command Name Command Result 7 CHANGE SCRIPT ID This command prompts the caller for another Script ID while keeping the same Mode and Password. If the new Script ID doesn’t have records associated with it, the caller is prompted for Mode, Password, and Script ID. The CHANGE SCRIPT ID command plays the next record while keeping the current one. 8 SPEED UP This command decrease the pause interval by 1/4second, unless the pause interval is already at a minimum. The SPEED UP command then prompts for another command. 9 EXIT This command announces the termination of the session. 3 of 3 Using the Form Filler Plus Template The high-level Script Builder application template provided with the Form Filler Plus package facilitates development of a Form Filler Plus application. By simply copying and modifying this template to suit your needs, you can Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 569 8 Using Optional Features Using Form Filler Plus develop a customized application. Included are instructions for creating your own application using the Form Filler Plus template. The following is a description of each of the blocks in the FFtemplate as well as instructions on how you can create your own Form Filler Plus application using the template. Before defining the transaction and recording speech for an application you create with the Form Filler template, you should create a flowchart showing how the actions in the script are connected. Figure 149 on page 571 shows one of the possible call flows for the Form Filler template. Note that the call flow shown uses the first and second form prompts in the Form Filler template, that is, BLOCK 2 and BLOCK 3 in the Form Filler template. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 570 8 Using Optional Features Figure 149. Using Form Filler Plus FFtemplate Prompt Flow Chart Answer Phone Greeting *8 Yes Entered? No Execute Yes Transcription Script Error Note: If Execute is succesful, the caller is not returned to this application X=1 Form Prompt X X=X+1 Re-Record = No FF_Code X Silence Reprompt Yes Silence Detected? Three Yes Attempts? No Play silence failure message No Other failure? Yes Play system failure message No This sequence of steps is optional and is associated with the third form prompt. Yes No Store Record? GOTO GOODBYE Yes Third form prompt sequence of steps No Form Response Acknowledgement No Last Form Prompt? Yes FF_Store Error? Yes Play system failure message No GOTO GOODBYE Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 571 8 Using Optional Features Using Form Filler Plus Figure 150 on page 573 shows another possible call flow for the Form Filler template. The call flow shown i is optional and enables the script to prompt a caller to re-record a message. The call flow shown in Figure 150 on page 573 uses the Third Form Prompt in the Form Filler template, that is, BLOCK 4. These call flows are discussed later in this chapter. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 572 8 Using Optional Features Figure 150. Using Form Filler Plus FFtemplate Optional Prompt Flow Chart FF_Code X Silence? No Other failure? This sequence is not optional and is part of the first and second form prompts. No Re-Record = Yes Re-Record Response Prompt This sequence is optional and is associated with the third form prompt. Response Yes too long? Response truncation announcement No Yes Re-Record Response? Play Response X No Yes Play Response? No Last Form Prompt? Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 573 8 Using Optional Features Using Form Filler Plus After you have determined the call flow for your application that will be developed from the FFtemplate, you can begin defining the transaction for your Form Filler Plus application. ! CAUTION: Use the BA CK U P key in Script Builder to make an archive copy of the FFtemplate application before using it. You can restore from the backup copy if the application is accidentally changed or destroyed. Copying the FFTemplate To copy information from the FFtemplate application: 1 Highlight FFtemplate. 2 Press F8 (Chg-Keys), then F3 (Copy). 3 Enter the new application name in the form that appears. Note: The name “Market_Appl” is used in the following examples for the sample marketing application that will be discussed below. 4 Press F3 (Save). The cursor should now be on the new application name in the Script Builder Applications screen. 5 Press F8 (Chg-Keys), then F4 (Define). The system displays the Define Application menu (Figure 14 on page 40). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 574 8 Using Optional Features Using Form Filler Plus Defining To define the parameters for this application: Parameters for your Application 1 From the Define Application menu (Figure 14 on page 40), select: > Parameters > Shared Speech Pools The system displays the Shared Speech Pools window (Figure 151 on page 575). Figure 151. Shared Speech Pools Window 2 Change the primary and secondary speech pool names to the name of the new application. If you prefer, you can use existing speech pools by entering these names in the Shared Speech Pools screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 575 8 Using Optional Features Note: Using Form Filler Plus You can press F2 (Choices) to select existing speech pool(s) from a menu. After you have selected speech pools, press F 3 (Close) and then press F3 (Save). Press F6 (Cancel) to return to the Define Application menu (Figure 14 on page 40). See Chapter 6, Defining Parameters, for additional information. Defining the Transaction for your Application To define the transaction for this application: 1 From the Define Application menu (Figure 14 on page 40), select > Transaction The system displays the Define Transaction screen. Figure 152 on page 577 shows page one of the Define Transaction screen with information displayed for the sample marketing application. Note that this is the same information that would appear in the Define Transaction screen with information displayed for the Form Filler template. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 576 8 Using Optional Features Using Form Filler Plus Figure 152. Define Transaction Screen Market_Appl, Page 1 Define Transaction start: #------------------------------------------------------------------------#This Script Builder template may be used to start #a Form Filler Plus application. There are three #examples of form prompts in BLOCKS 2 - 4 below. #These blocks may be copied or deleted to get the #correct number of form prompts for your #application. (Goto labels and statements #should be modified accordingly). Phrase tags #should be replaced with ones that are more #meaningful. Parameters for each FF_Code should be #changed to suit the new application if necessary #(especially code_rate, maxsec and script_id). #There is no speech provided with this template #transaction. Record speech after changing #or adding phrase tags. Please use a copy of this #template for building your application to avoid #modifying the original template. #------------------------------------------------------------------------- 2 Press F7 (Show) to toggle (switch) the Define Transaction list back and forth between the normal and expanded display modes. You are now ready to build your new transaction using the Script Builder function keys. The following is a discussion of the Form Filler template provided with the Form Filler Plus package. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 577 8 Using Optional Features Using Form Filler Plus What the Template Includes You can use this template to create a customized Form Filler Plus application. The template contains five distinct prototype blocks of Script Builder instructions: An “Initialization” block (BLOCK 1), three “Form Prompt Blocks” (BLOCKS 2 through 4), and a “Termination” block (BLOCK 5). Note that the Initialization and Termination blocks should remain at the beginning and end of the script, respectively. The three Form Prompt Blocks demonstrate different ways that form prompts can be implemented. See these examples to determine which Form Prompt Blocks most closely resemble the form prompts you want to use in your application. Then see the directions that follow to aid you in completing the transaction definition for your customized application. Initialization In the Initialization block of the template (BLOCK 1), the caller dials a number and is greeted by a menu and instructions. If the caller enters an “*8” access code while the script is playing the system greeting, the script executes Form Retriever (the transcription script) instead of the Form Filler Plus application. Access to Form Retriever by way of the Execute action is useful in that it allows you to start a new script on a channel, replacing the script that performed the Execute action. This eliminates the need for dedicating channels and telephone numbers exclusively to the transcription script. Transcribers can call any application script telephone number to access the transcription script. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 578 8 Using Optional Features Using Form Filler Plus Figure 153 on page 579 shows the code for the Initialization block of the Form Filler template. Figure 153. FFtemplate Initialization Block (BLOCK 1) start: 1. Answer Phone 2. Announce Speak With Interrupt Phrase: "Welcome Announcement" #If the caller enters "*8during the above #announcement, go to the Transcription Script. 3. Prompt & Collect Input Min Number Of Digits: 02 No. Of Tries To Get Input: 01 Initial Timeout: 03 Interdigit Timeout: 03 Checklist Case: "*8" Goto ExecTrans Case: "Not On List" Continue Case: "Initial Timeout" Continue Case: "Too Few Digits" Continue Case: "No More Tries" Continue End Prompt & Collect 4. Goto FormPrompt1 ExecTrans: 5. External Action: Execute Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 579 8 Using Optional Features Using Form Filler Plus Application_Name: "transcribe" Write_Call_Data_Record: "no" End External Action #If Execute returns then it failed to #execute the Transcription Script. 6. Goto SYSTEM_FAILURE First Form Prompt In the First Form Prompt block of the template (BLOCK 2), the script plays the first form prompt to the caller. Depending on the application, the first form prompt can be either “What is your name?” or “What is your account number?” or a request for similar information identifying the caller. The script allows 20 seconds to collect the caller’s response (if any). Next, the script verifies that something was recorded. The hangup indication field Disables recording during the first form prompt, so the script does not save the call record if the caller hangs up after responding to the first form prompt. The caller is allowed three attempts to speak an answer in the first field. If the script detects silence, it reprompts the caller. If the caller fails to answer each of three attempts, the script plays a silence failure message and does not store the record. If another script failure is detected, the script plays the appropriate system failure message and goes to the GOODBYE step. Figure 154 on page 581 shows the code for the First Form Prompt of the Form Filler template. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 580 8 Using Optional Features Figure 154. Using Form Filler Plus FFtemplate First Form Prompt (BLOCK 2) FormPrompt1: 7. Announce Speak With Interrupt Phrase: "Form Prompt 1" 8. Set Field Value Field: NUMTRIES = 0 FFCODE1: 9. External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Disable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. 10. Evaluate If FFCODERET = -2 11. Set Field Value Field: NUMTRIES = NUMTRIES + 1 12. Evaluate If NUMTRIES = 3 13. Goto SILENCE_FAILURE End Evaluate 14. Announce Speak Without Interrupt Phrase: "Silence Reprompt" 15. Goto FFCODE1 End Evaluate 16. Evaluate Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 581 8 Using Optional Features Using Form Filler Plus If FFCODERET < 0 Goto SYSTEM_FAILURE End Evaluate 18. Announce Speak Without Interrupt Phrase: "Form Response Acknowledgment" 17. Second Form Prompt If the script does not detect silence or system failure during the First Form Prompt, it proceeds to the Second Form Prompt (BLOCK 3) and plays the second form prompt to the caller. Depending on the application, the second form prompt can be either “What is your telephone number?” or a request for similar information identifying the caller. The script allows 20 seconds to collect the caller’s response (if any). Next, the script verifies that something was recorded. The hangup indication field Enables recording during the second form prompt, so the script stores a call record automatically if the caller hangs up after recording the telephone number. The caller is allowed three attempts to enter information in the second field. If the script detects silence, the script reprompts the caller. If the caller fails to enter a message on each of three attempts, the script plays a silence failure message and stores the record. If another script failure is detected, the script plays the appropriate system failure message and goes to the GOODBYE step. Figure 155 on page 583 shows the code for the Second Form Prompt of the Form Filler template. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 582 8 Using Optional Features Figure 155. Using Form Filler Plus FFtemplate Second Form Prompt FormPrompt2: 19. Announce Speak With Interrupt Phrase: "Form Prompt 2" 20. Set Field Value Field: NUMTRIES = 0 FFCODE2: 21. External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. 22. Evaluate If FFCODERET = -2 23. Set Field Value Field: NUMTRIES = NUMTRIES + 1 24. Evaluate If NUMTRIES = 3 25. Goto SILENCE_FAILURE End Evaluate 26. Announce Speak Without Interrupt Phrase: "Silence Reprompt" 27. Goto FFCODE2 End Evaluate 28. Evaluate Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 583 8 Using Optional Features Using Form Filler Plus If FFCODERET < 0 Goto SYSTEM_FAILURE End Evaluate 30. Announce Speak Without Interrupt Phrase: "Form Response Acknowledgment" 29. Third Form Prompt In the Third Form Prompt (BLOCK 4) the caller is prompted to record a message. The script allows 2 minutes (120 seconds) to collect the caller’s message (if any). A 5-second grace period is used to allow the script to detect when the caller has exceeded the allotted time limit. The caller is also given the option of listening to the response and re-recording the message. If there is no message recorded or a system failure occurs, the script goes to STORE_RECORD, thereby allowing any previously recorded responses to be stored. Figure 156 on page 584 shows the code for the Third Form Prompt of the Form Filler template. Figure 156. FFtemplate Third Form Prompt FormPrompt3: 31. Announce Speak With Interrupt Phrase: "Form Prompt 3" 32. Set Field Value Field: NUMTRIES = 0 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 584 8 Using Optional Features Using Form Filler Plus FFCODE3: 33. External Action: FF_Code code_rate: "ADPCM_16" maxsec: 125 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. 34. Evaluate If FFCODERET = -2 35. Set Field Value Field: NUMTRIES = NUMTRIES + 1 36. Evaluate If NUMTRIES = 3 37. Announce Speak Without Interrupt Phrase: "Silence Failure Message" 38. Goto STORE_RECORD End Evaluate 39. Announce Speak Without Interrupt Phrase: "Silence Reprompt" 40. Goto FFCODE3 End Evaluate 41. Evaluate Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 585 8 Using Optional Features Using Form Filler Plus If FFCODERET < 0 Announce Speak Without Interrupt Phrase: "System Failure Message" 43. Goto STORE_RECORD End Evaluate 44. Announce Speak Without Interrupt Phrase: "Form Response Acknowledgment" #Check if response exceeded time limit. 45. Evaluate If FFCODERET > 120 46. Announce Speak Without Interrupt Phrase: "Response Truncation Announcement" End Evaluate VERIFY3: #Ask if caller wants to hear response. 47. Prompt & Collect Prompt Speak With Interrupt Phrase: "Play Form Response Command 50. Prompt & Collect Prompt Speak With Interrupt Phrase: "Re-record Form Response Command Menu" 42. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 586 8 Using Optional Features Using Form Filler Plus Input Max Number Of Digits: 01 Checklist Case: "1" Goto PLAY3 Case: "0" Continue Case: "Not On List" Speak Without Interrupt Phrase: "Invalid Input Reprompt Message" Reprompt Case: "Initial Timeout" Continue Case: "Too Few Digits" Continue Case: "No More Tries" Continue End Prompt & Collect #If this is not the last form prompt, this goto #should be replaced with one that jumps to the #next form prompt (e.g., "goto FormPrompt4"). 48. Goto STORE_RECORD PLAY3: #Play caller’s response. 49. Announce Speak With Interrupt Phrase: "Play Form Response Announcement" Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 587 8 Using Optional Features Using Form Filler Plus Field: FFPHRASE As NX #Ask if caller would like to re-record response. Menu" Input Max Number Of Digits: 01 Checklist Case: "1" Goto RERECORD3 Case: "0" Continue Case: "Not On List" Speak Without Interrupt Phrase: "Invalid Input Reprompt Message" Reprompt Case: "Initial Timeout" Continue Case: "Too Few Digits" Continue Case: "No More Tries" Continue End Prompt & Collect #If this is not the last form prompt, this goto #should be replaced with one that jumps to the #next form prompt (e.g., "goto FormPrompt4"). 51. Goto STORE_RECORD RERECORD3: #Re-record caller’s response. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 588 8 Using Optional Features Using Form Filler Plus #This procedure is similar to the above starting #at FFCODE3, but with the re_record_phrase flag #set to "Yes". The original response is deleted #before re-recording starts. 52. Announce Speak Without Interrupt Phrase: "Re-record Form Response Prompt" 53. Set Field Value Field: NUMTRIES = 0 FFRECODE3: 54. External Action: FF_Code code_rate: "ADPCM_16" maxsec: 125 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "Yes" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. 55. Evaluate If FFCODERET = -2 56. Set Field Value Field: NUMTRIES = NUMTRIES + 1 57. Evaluate If NUMTRIES = 3 58. Announce Speak Without Interrupt Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 589 8 Using Optional Features Using Form Filler Plus Phrase: "Silence Failure Message" Goto STORE_RECORD End Evaluate 60. Announce Speak Without Interrupt Phrase: "Silence Reprompt" 61. Goto FFRECODE3 End Evaluate 62. Evaluate If FFCODERET < 0 63. Announce Speak Without Interrupt Phrase: "System Failure Message" 64. Goto STORE_RECORD End Evaluate 65. Announce Speak Without Interrupt Phrase: "Form Response Acknowledgment" 66. Evaluate If FFCODERET > 120 67. Announce Speak Without Interrupt Phrase: "Message Truncation Announcement" End Evaluate 68. Goto VERIFY3 59. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 590 8 Using Optional Features Using Form Filler Plus Termination In the Termination block of the template (BLOCK 5) the script plays a goodbye announcement and terminates the call after either storing the record or speaking a silence or system failure message. Figure 157 on page 591 shows the code for the Termination block of the Form Filler template. Figure 157. FFtemplate Termination Block (BLOCK 5) STORE_RECORD: 69. External Action: FF_Store return_field: FFSTORERET End External Action 70. Evaluate If FFSTORERET < 0 71. Goto SYSTEM_FAILURE End Evaluate 72. Announce Speak Without Interrupt Phrase: "Goodbye Message" 73. Disconnect 74. Quit SILENCE_FAILURE: 75. Announce Speak Without Interrupt Phrase: "Silence Failure Message" 76. Disconnect 77. Quit SYSTEM_FAILURE: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 591 8 Using Optional Features Using Form Filler Plus 78. Announce Speak Without Interrupt Phrase: "System Failure Message" 79. Disconnect 80. Quit Customizing the FFtemplate for Your Application 1 Use the R emove key to delete any Form Prompt Blocks that you do not need for your application. 2 If you will be duplicating one or more of the Form Prompt Blocks in the FFtemplate to make additional form prompts and the blocks that you intend to copy and then use in your application have one or more phrases in common, you will save time by redefining the common phrase tags before you copy the Form Prompt Block(s). To redefine the common phrase tags, move the cursor to each Announce action step and redefine it with the Def ine key, changing phrase tags that will be common between all of the Form Prompt Blocks to phrase tags that are more meaningful for your particular application. See Chapter 7, Defining the Transaction, for information on using the Define Announce screen to define Announce action steps. 3 Use the C opy key to copy the additional Form Prompt Blocks that you need for your application. Keep in mind that a maximum of 10 Form Prompt Blocks can be used in any application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 592 8 Using Optional Features Using Form Filler Plus 4 Once you have the desired number and type of form prompts in the desired order, you will want to customize each form prompt block. Check all goto labels and statements that contain a prompt sequence number (for example, FormPrompt3, FFCODE3, VERIFY3, PLAY3, RERECORD3, and FFRECODE3 refer to the Third Form Prompt block in the example and on the template). Either redefine these goto labels and statements with the correct sequence number for the new application or rename them to reflect the information being recorded with each prompt. 5 If you copy the Third Form Prompt block to make additional prompts, make sure that the “Goto STORE_RECORD” instructions after the VERIFY3 and PLAY3 labels are redefined to go to the next form prompt (for example, “Goto FormPrompt4”) instead of STORE_RECORD if the prompt is not the last one in the transaction. 6 Next, relabel the new form prompt blocks that you have copied. We suggest that you relabel from the end of the transaction to the beginning of the transaction, using the Sea rch key to locate the character string you wish to replace. 7 Move the cursor to each Announce action step and, if necessary, redefine it with the Def in e key, changing phrase tags to ones that are more meaningful for your particular application. Note that if you have already redefined common phrase tags in Step 2 of this procedure, you will not need to define these phrase tags at this point. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 593 8 Using Optional Features Using Form Filler Plus See Chapter 7, Defining the Transaction, for information on using the Define Announce screen to define Announce action steps. 8 Move the cursor to each Prompt & Collect action step and redefine the PROMPT, INPUT, or CHECKLIST screen if necessary. If you want to be able to access the transcription script (Form Retriever) from your application, change the “*8” access code that is used to execute this transcription script in the first Prompt & Collect action step of the template to an access code that is more meaningful for your particular application. If you will use an access code with more than digits, you will need to change the Min. No. of Digits field on the Define Prompt and Collect INPUT screen to account for the additional digits. In addition, you will need to change the Case field on the Define Prompt and Collect CHECKLIST screen to the actual password you are using for the Execute action. If you do not want to access the transcription script from your application, delete the comment and that portion of the code that deals with the execute feature from the Initialization block (BLOCK 1) of your application. See Chapter 7, Defining the Transaction, for information on using the Define Prompt and Collect screens to define Prompt & Collect action steps. 9 Move the cursor to each FF_Code action and redefine the Code Rate and Type, Maximum Phrase Length, Script Identification, and Hangup Indication with the D efi ne key if necessary. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 594 8 Using Optional Features Note: Using Form Filler Plus Form Prompt 3 in the template includes a 5-second “grace period” for use in determining when the caller has recorded a response that exceeds the time limit. In the template, this grace period is embedded in the Evaluate actions where the test “If FFCODERET > 120” is performed. If you want to maintain this feature, set the number of seconds in the Evaluate actions to the actual time limit (120 seconds in the case of the template). In addition, add the grace period (for example, 5 seconds) to the Maximum Phrase Length field in the FF_Code action. 10 Use the R emove key to remove any remaining comments that do not apply to your application. Use the A dd key to add any comments that are appropriate for your application. 11 When you are finished, save the transaction by pressing C hg -K eys , then Sav e . Press Ca ncel to return to the Define Application screen. Producing Speech You are now ready to identify speech for your new application. for your Application 1 In the Define Application menu (Figure 14 on page 40), select: >Speech Administration Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 595 8 Using Optional Features Using Form Filler Plus 2 If spadm is not assigned to an in-service channel or DNIS, a form screen automatically appears asking for a valid in-service channel number. Enter a valid in-service channel number, then press CLOSE. It is important that you enter a Tip/Ring channel that is INSERV. For additional information on determining which channel is INSERV, see Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. If the channel number that you enter is on a E1/T1 circuit card, a message is displayed instructing you to use the Configuration Management menus under Voice System Administration to make the assignment. It is not recommended that you assign service to a specific E1/T1 channel. This service should be assigned to a DNIS number instead. 3 Press Co nt or Sa ve to close the form screen asking for a valid in-service channel. 4 Press Cont. The system displays the Speech Administration screen. The Speech Administration screen identifies the speech that you must record for your application. See Chapter 9, Speech Administration, for the procedure for recording speech. 5 Press Ca ncel to return to the Define Application menu. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 596 8 Using Optional Features Installing your Application Using Form Filler Plus 1 While viewing the Define Application menu, press Ve ri fy to start verifying the application. The Verify Procedure message screen opens. If the verification is not successful, make the necessary changes. 2 After the system successfully verifies your application, press Inst all to continue with the installation of the application. The Install Procedure message screen opens. See Chapter 10, Application Administration, for additional information on installing and verifying an application. Assigning your Application to Channels or Called Numbers 1 From the Voice System Administration menu (Figure 127), select: > Configuration Management >Voice Equipment > Voice Services Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 597 8 Using Optional Features Using Form Filler Plus 2 To assign the application to a channel, select: > Channel Services 3 To assign the application to a dialed number, select: > Number Services For additional information on assigning services to channels or called numbers, see Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501. Sample Marketing Application Following is an example of a marketing application that has been developed using the Form Filler Plus template. This section contains information about how the template was modified to suit this marketing application. Figure 158 on page 599 shows a sample “marketing information form” to be converted to script form using the Form Filler template. The transaction is shown in the example at the end of this section. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 598 8 Using Optional Features Figure 158. Using Form Filler Plus Sample Marketing Information Form Form Filler Call Record Summary Report Report generated Mon. January 30 13:49:40 1992 Form Filler Call Record Summary __________________________ Script ID Records to Transcribe Records to Review 11 1 1 HELP Initialization Oldest Record Newest Record Jun 16 1991 T Dec 10 12:14 R PREVPAGE NEXTPAGE PREV-FRM NEXT-FRM CANCEL CMD-MENU CHG-KEYS The sample marketing application in Figure 158 on page 599 modifies the Initialization block to execute the transcription script if the caller enters a “*1234#” access code. In addition, this application changes the No. of Digits fields in the Define Prompt and Collect INPUT screen to “06” and the Case field in the Define Prompt and Collect CHECKLIST screen to “*1234#.” For the sample marketing application, it was necessary to increase the recording time limit by changing the Desired Coding Time field in the Speech Recording Parameters screen to a value that enabled a longer Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 599 8 Using Optional Features Using Form Filler Plus welcome announcement to be recorded and played. The Desired Coding Time default value is 30 seconds. For the sample marketing application, this value was increased to 60 seconds. See Chapter 9, Speech Administration, for additional information. First Form Prompt: Name The sample marketing application modifies the first form prompt of the template to prompt the caller to spell a first and last name. Note: Second Form Prompt: Telephone Number If your application executes a Goto the SILENCE_FAILURE or SYSTEM_FAILURE labels after recording the first response to the first form prompt, FF_Store will not be performed. Consequently, the Form Filler Plus Last Audit Report will show the deletion of phrases that have not been stored. The sample marketing application modifies the second form prompt of the template to prompt the caller for a telephone number. Third Form Prompt: The sample marketing application copies and then modifies the second form Street Address prompt (BLOCK 3) of the template to prompt the caller for a nine-digit telephone number (beginning with the area code). The call flow for the third form prompt of the marketing application is similar to that of the second form prompt. Note, however, that if there is no message recorded or a system failure occurs, the script goes to STORE_RECORD, thereby allowing any previously recorded responses to be stored. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 600 8 Using Optional Features Using Form Filler Plus Fourth Form Prompt: City The sample marketing application copies and then modifies the second form prompt of the template to prompt the caller to record the name of the caller’s city. The call flow for the fourth form prompt of the marketing application will be similar to that of the second form prompt. Note, however, that if there is no message recorded or a system failure occurs, the script goes to STORE_RECORD, thereby allowing any previously recorded responses to be stored. Fifth Form Prompt: State The sample marketing application copies and then modifies the second form prompt of the template to prompt the caller to record the name of the caller’s state. The call flow for the fifth form prompt of the marketing application is similar to that of the second form prompt. Note, however, that if there is no message recorded or a system failure occurs, the script goes to STORE_RECORD, thereby allowing any previously recorded responses to be stored. Sixth Form Prompt: The sample marketing application copies and then modifies the second form Zip Code prompt of the template to prompt the caller to record the caller’s five-digit zip code. The call flow for this block is similar to that of the second form prompt. Note, however, that if there is no message recorded or a system failure occurs, the script goes to STORE_RECORD, thereby allowing any previously recorded responses to be stored. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 601 8 Using Optional Features Seventh Form Prompt: Message Using Form Filler Plus The speech recorded for the marketing application did not take longer than the 30-second recording time limit set (by default) in the Speech Recording Parameters screen. Therefore, it was not necessary to increase the recording time limit as was done in the Initialization block of this sample application. If the speech recorded for your application will take longer than 30 seconds to record, you will need to increase the recording time limit by changing the Desired Coding Time field in the Speech Recording Parameters screen to a value that will enable a longer form prompt to be recorded. See Chapter 9, Speech Administration, for additional information. Speech Used in the Sample Marketing Application Table 50 on page 606 and Table 49 on page 603 provide examples of phrase tags and speech that might be recorded for the corresponding Form Filler template tag in the sample marketing application. Table 50 on page 606 lists the phrase tags that are common for each of the duplicated blocks in the marketing application. Redefine each of these common phrase tags before the Form Prompt Block is copied. Table 49 on page 603 lists the phrase tags that are not common for each of the duplicated blocks in the marketing application. Redefine each of common phrase tags after the Form Prompt Block is copied. Note that the “FFtemplate Tag” column in Table 50 on page 606 and Table 49 on page 603 corresponds to the phrases used in the Announce and the Prompt & Collect action steps in the FFtemplate. The “Application Tag” column corresponds to the phrases associated with the Announce and the Prompt & Collect action steps of the marketing application. The “Recorded Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 602 8 Using Optional Features Using Form Filler Plus Application Speech” column corresponds to the speech that will be recorded in the Speech Administration screen for the corresponding application tag in the marketing application. Table 49. Phrase Tag Modifications and Corresponding Speech — Common FFTemplate Tag Application Tag Recorded Application Speech Welcome Announcement Welcome to the marketing application system... “Thank you for calling the ABC Company’s marketing information system. This information system enables you to sign up to receive one or more of our catalogs or to leave a message for a customer service representative. Please stay on the line and answer the following questions. Remember that you must speak an answer to all of these questions. After you answer these questions, the catalogs you have requested will be mailed automatically within 2 weeks. If you leave a message for a customer service representative, a representative will return your call within 24 hours. Please wait for the tone before speaking. Thank you.” 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 603 8 Using Optional Features Table 49. Using Form Filler Plus Phrase Tag Modifications and Corresponding Speech — Common FFTemplate Tag Application Tag Recorded Application Speech Silence Reprompt We were unable to record your response. “We were unable to record your response. Please try again.” Form Response Acknowledgement Thank you. “Thank you.” Silence Failure Message We were unable to record your message. “We were unable to record your message. Please call back later. Thank you.” System Failure Message We are experiencing technical difficulty. “We are experiencing technical difficulty. Please call back later. Thank you.” Response Truncation Announcement Maximum recording time exceeded. “You have exceeded the maximum time allowed for this response.” Play Form Response Command Menu Press 1 to playback, 0 to continue. “If you would like to listen to your last response, press 1. Otherwise, press 0 or wait to continue.” 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 604 8 Using Optional Features Table 49. Using Form Filler Plus Phrase Tag Modifications and Corresponding Speech — Common FFTemplate Tag Application Tag Recorded Application Speech Invalid Input Reprompt Message Invalid response. Please try again. “Please respond again with a different choice.” Play Form Response Announcement Your response was... “Your response was...” Re-record Form Response Command Menu Press 1 to rerecord, 0 to continue. “If you would like to re-record your response, press 1. Otherwise, press 0 or wait to continue.” Re-record Form Response Prompt Re-record after the tone. “Please begin re-recording after the tone.” Goodbye Message Goodbye. “Thank you for calling. Goodbye.” 3 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 605 8 Using Optional Features Table 50. Using Form Filler Plus Phrase Tag Modifications and Corresponding Speech — Common FFTemplate Tag Application Tag Recorded Application Speech Welcome Announcement Welcome to the marketing application system... “Thank you for calling the ABC Company’s marketing information system. This information system enables you to sign up to receive one or more of our catalogs or to leave a message for a customer service representative. Please stay on the line and answer the following questions. Remember that you must speak an answer to all of these questions. After you answer these questions, the catalogs you have requested will be mailed automatically within 2 weeks. If you leave a message for a customer service representative, a representative will return your call within 24 hours. Please wait for the tone before speaking. Thank you.” Silence Reprompt We were unable to record your response. “We were unable to record your response. Please try again.” 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 606 8 Using Optional Features Table 50. Using Form Filler Plus Phrase Tag Modifications and Corresponding Speech — Common FFTemplate Tag Application Tag Recorded Application Speech Form Response Acknowledgement Thank you. “Thank you.” Silence Failure Message We were unable to record your message. “We were unable to record your message. Please call back later. Thank you.” System Failure Message We are experiencing technical difficulty. “We are experiencing technical difficulty. Please call back later. Thank you.” Response Truncation Announcement Maximum recording time exceeded. “You have exceeded the maximum time allowed for this response.” Play Form Response Command Menu Press 1 to playback, 0 to continue. “If you would like to listen to your last response, press 1. Otherwise, press 0 or wait to continue.” 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 607 8 Using Optional Features Table 50. Using Form Filler Plus Phrase Tag Modifications and Corresponding Speech — Common FFTemplate Tag Application Tag Recorded Application Speech Invalid Input Reprompt Message Invalid response. Please try again. “Please respond again with a different choice.” Play Form Response Announcement Your response was... “Your response was...” Re-record Form Response Command Menu Press 1 to rerecord, 0 to continue. “If you would like to re-record your response, press 1. Otherwise, press 0 or wait to continue.” Re-record Form Response Prompt Re-record after the tone. “Please begin re-recording after the tone.” Goodbye Message Goodbye. “Thank you for calling. Goodbye.” 3 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 608 8 Using Optional Features Table 51. Using Form Filler Plus Phrase Tag Modifications and Corresponding Speech — Not Common FFTemplate Tag Application Tag Recorded Application Speech Form Prompt 1 Enter full name. “Please spell your first and last name after the tone.” Form Prompt 2 (first copy) Enter telephone number. “Please record your telephone number, beginning with the area code, after the tone.” Form Prompt 2 (second copy) Enter address. “Please record your street address after the tone.” Form Prompt 2 (third copy) Enter city. “Please record the name of your city after the tone.” Form Prompt 2 (fourth copy) Enter state. “Please record the name of your state after the tone.” Form Prompt 2 (fifth copy) Enter zip code. “Please record your five-digit zip code after the tone.” Form Prompt 3 Enter message. “You can now speak the names of the catalogs you would like mailed to you or record a brief message for a customer service representative. You can speak for up to 2 minutes. Please record after the tone.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 609 8 Using Optional Features Using Form Filler Plus Figure 159 on page 610 shows the marketing application developed with the FFtemplate. Figure 159. Sample Marketing Application start: #-------------------------------------------------#The following Script Builder application illustrates #how the Script Builder template provided with the #Form Filler Plus application can be used to create a #can be used to create a marketing application. #-------------------------------------------------1. Answer Phone 2. Announce Speak With Interrupt Phrase: "Welcome to the Marketing application system..." #If the caller enters "*1234#" during the previous #announcement, go to the Transcription Script. 3. Prompt & Collect Input Min Number Of Digits: 06 No. Of Tries To Get Input: 01 Initial Timeout: 03 Interdigit Timeout: 03 Checklist Case: "*1234#" Goto ExecTrans Case: "Not On List" Continue Case: "Initial Timeout" Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 610 8 Using Optional Features 4. 5. 6. 7. 8. 9. Using Form Filler Plus Continue Case: "Too Few Digits" Continue Case: "No More Tries" Continue End Prompt & Collect Goto FormPrompt1 ExecTrans: External Action: Execute Application_Name: "transcribe" Write_Call_Data_Record: "no" End External Action #If Execute returns then it failed to #execute the Transcription Script. Goto SYSTEM_FAILURE #-------------------------------------------------#First Form Prompt. #Record Caller’s Full Name. #Record a 20 second response with hangup detect #disabled. Try 3 times if no response. #-------------------------------------------------FormPrompt1: Announce Speak With Interrupt Phrase: "Enter full name." Set Field Value Field: NUMTRIES = 0 FFCODE1: External Action: FF_Code Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 611 8 Using Optional Features 10. 11. 12. 13. 14. 15. 16. 17. 18. Using Form Filler Plus code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Disable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. Evaluate If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Evaluate If NUMTRIES = 3 Goto SILENCE_FAILURE End Evaluate Announce Speak Without Interrupt Phrase: "We were unable to record your response." Goto FFCODE1 End Evaluate #Check for system failure. Evaluate If FFCODERET < 0 Goto SYSTEM_FAILURE End Evaluate Announce Speak Without Interrupt Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 612 8 Using Optional Features 19. 20. 21. 22. Using Form Filler Plus Phrase: "Thank you." #-------------------------------------------------#Second Form Prompt. #Record Caller’s Phone Number. #Record a 20 second response with hangup detect #enabled. Try 3 times if no response. #If we go to SILENCE_FAILURE or SYSTEM_FAILURE #after recording the name, no FF_Store #will be done. The Audit will need to delete #phrases that have not been stored. #-------------------------------------------------FormPrompt2: Announce Speak With Interrupt Phrase: "Enter phone number." Set Field Value Field: NUMTRIES = 0 FFCODE2: External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. Evaluate Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 613 8 Using Optional Features 23. 24. 25. 26. 27. 28. 29. 30. Using Form Filler Plus If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Evaluate If NUMTRIES = 3 Goto SILENCE_FAILURE End Evaluate Announce Speak Without Interrupt Phrase: "We were unable to record your response." Goto FFCODE2 End Evaluate #Check for system failure. Evaluate If FFCODERET < 0 Goto SYSTEM_FAILURE End Evaluate Announce Speak Without Interrupt Phrase: "Thank you." #-------------------------------------------------#Third Form Prompt. #Record Caller’s Street Address. #Record a 20 second response with hangup detect #enabled. Try 3 times if no response. #This prompt and all remaining prompts will try to #store the call record if a silence failure or #system failure occurs. At this point we have a #name and phone number; we can contact the caller. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 614 8 Using Optional Features 31. 32. 33. 34. 35. 36. 37. 38. Using Form Filler Plus #-------------------------------------------------FormPrompt3: Announce Speak With Interrupt Phrase: "Enter address." Set Field Value Field: NUMTRIES = 0 FFCODE3: External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. Evaluate If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Evaluate If NUMTRIES = 3 Announce Speak Without Interrupt Phrase: "We are unable to record your message." Goto STORE_RECORD Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 615 8 Using Optional Features Using Form Filler Plus End Evaluate Announce Speak Without Interrupt Phrase: "We were unable to record your response." 40. Goto FFCODE3 End Evaluate #Check for system failure. 41. Evaluate If FFCODERET < 0 42. Announce Speak Without Interrupt Phrase: "We are experiencing technical difficulty." 43. Goto STORE_RECORD End Evaluate 44. Announce Speak Without Interrupt Phrase: "Thank you." #-------------------------------------------------#Fourth Form Prompt. #Record Caller’s City. #Record a 20 second response with hangup detect #enabled. Try 3 times if no response. #-------------------------------------------------FormPrompt4: 45. Announce Speak With Interrupt Phrase: "Enter city." 46. Set Field Value 39. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 616 8 Using Optional Features Using Form Filler Plus Field: NUMTRIES = 0 FFCODE4: External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. 48. Evaluate If FFCODERET = -2 49. Set Field Value Field: NUMTRIES = NUMTRIES + 1 50. Evaluate If NUMTRIES = 3 51. Announce Speak Without Interrupt Phrase: "We are unable to record your message." 52. Goto STORE_RECORD End Evaluate 53. Announce Speak Without Interrupt Phrase: "We were unable to record your response." 54. Goto FFCODE4 47. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 617 8 Using Optional Features Using Form Filler Plus End Evaluate #Check for system failure. 55. Evaluate If FFCODERET < 0 56. Announce Speak Without Interrupt Phrase: "We are experiencing technical difficulty." 57. Goto STORE_RECORD End Evaluate 58. Announce Speak Without Interrupt Phrase: "Thank you." #-------------------------------------------------#Fifth Form Prompt. #Record Caller’s State. #Record a 20 second response with hangup detect #enabled. Try 3 times if no response. #-------------------------------------------------FormPrompt5: 59. Announce Speak With Interrupt Phrase: "Enter state." 60. Set Field Value Field: NUMTRIES = 0 FFCODE5: 61. External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 618 8 Using Optional Features 62. 63. 64. 65. 66. 67. 68. 69. 70. Using Form Filler Plus hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. Evaluate If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Evaluate If NUMTRIES = 3 Announce Speak Without Interrupt Phrase: "We are unable to record your message." Goto STORE_RECORD End Evaluate Announce Speak Without Interrupt Phrase: "We were unable to record your response." Goto FFCODE5 End Evaluate #Check for system failure. Evaluate If FFCODERET < 0 Announce Speak Without Interrupt Phrase: "We are experiencing technical Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 619 8 Using Optional Features Using Form Filler Plus difficulty." Goto STORE_RECORD End Evaluate 72. Announce Speak Without Interrupt Phrase: "Thank you." #-------------------------------------------------#Sixth Form Prompt. #Record Caller’s Zip Code. #Record a 20 second response with hangup detect #enabled. Try 3 times if no response. #-------------------------------------------------FormPrompt6: 73. Announce Speak With Interrupt Phrase: "Enter zip code." 74. Set Field Value Field: NUMTRIES = 0 FFCODE6: 75. External Action: FF_Code code_rate: "ADPCM_16" maxsec: 20 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. 76. Evaluate 71. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 620 8 Using Optional Features 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. Using Form Filler Plus If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Evaluate If NUMTRIES = 3 Announce Speak Without Interrupt Phrase: "We are unable to record your message." Goto STORE_RECORD End Evaluate Announce Speak Without Interrupt Phrase: "We were unable to record your response." Goto FFCODE6 End Evaluate #Check for system failure. Evaluate If FFCODERET < 0 Announce Speak Without Interrupt Phrase: "We are experiencing technical difficulty." Goto STORE_RECORD End Evaluate Announce Speak Without Interrupt Phrase: "Thank you." #-------------------------------------------------- Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 621 8 Using Optional Features 87. 88. 89. 90. 91. Using Form Filler Plus #Seventh Form Prompt. #Record Caller’s Message. #Record a 120 second response with hangup detect #enabled. Try 3 times if no response. #A 5 second "grace period" is added to maxsec #below to detect a message that is too long. #The caller will be allow to listen to and #re-record the message if desired. #-------------------------------------------------FormPrompt7: Announce Speak With Interrupt Phrase: "Enter message." Set Field Value Field: NUMTRIES = 0 FFCODE7: External Action: FF_Code code_rate: "ADPCM_16" maxsec: 125 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "No" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. Evaluate If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 622 8 Using Optional Features Using Form Filler Plus 92. Evaluate If NUMTRIES = 3 93. Announce Speak Without Interrupt Phrase: "We are unable to record your message." 94. Goto STORE_RECORD End Evaluate 95. Announce Speak Without Interrupt Phrase: "We were unable to record your response." 96. Goto FFCODE7 End Evaluate #Check for system failure. 97. Evaluate If FFCODERET < 0 98. Announce Speak Without Interrupt Phrase: "We are experiencing technical difficulty." 99. Goto STORE_RECORD End Evaluate 100. Announce Speak Without Interrupt Phrase: "Thank you." #Check if response exceeded time limit. 101. Evaluate If FFCODERET > 120 102. Announce Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 623 8 Using Optional Features Using Form Filler Plus Speak Without Interrupt Phrase: "Maximum recording time exceeded." End Evaluate VERIFY7: #Would you like to hear the message you recorded? 103. Prompt & Collect Prompt Speak With Interrupt Phrase: "Press 1 to playback, 0 to continue." Input Max Number Of Digits: 01 Checklist Case: "1" Goto PLAY7 Case: "0" Continue Case: "Not On List" Speak Without Interrupt Phrase: "Invalid response. Please try again." Reprompt Case: "Initial Timeout" Continue Case: "Too Few Digits" Continue Case: "No More Tries" Continue End Prompt & Collect 104. Goto STORE_RECORD PLAY7: #Play caller’s response. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 624 8 Using Optional Features Using Form Filler Plus 105. Announce Speak With Interrupt Phrase: "Your response was..." Field: FFPHRASE As NX #Would you like to re-record your message? 106. Prompt & Collect Prompt Speak With Interrupt Phrase: "Press 1 to re-record, 0 to continue." Input Max Number Of Digits: 01 Checklist Case: "1" Goto RERECORD7 Case: "0" Continue Case: "Not On List" Speak Without Interrupt Phrase: "Invalid response. Please try again." Reprompt Case: "Initial Timeout" Continue Case: "Too Few Digits" Continue Case: "No More Tries" Continue End Prompt & Collect 107. Goto STORE_RECORD RERECORD7: #Re-record caller’s response. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 625 8 Using Optional Features 108. 109. 110. 111. 112. 113. 114. Using Form Filler Plus #This procedure is similar to the above starting #at FFCODE7, but with the re_record_phrase flag #set to "Yes". The original response is deleted #before re-recording starts. Announce Speak Without Interrupt Phrase: "Re-record after the tone." Set Field Value Field: NUMTRIES = 0 FFRECODE7: External Action: FF_Code code_rate: "ADPCM_16" maxsec: 125 script_id: 1 hangup_detect_enable: "Enable" re_record_phrase: "Yes" tf_id_ph_id: FFPHRASE Return Field: FFCODERET End External Action #Check for initial silence timeout. Evaluate If FFCODERET = -2 Set Field Value Field: NUMTRIES = NUMTRIES + 1 Evaluate If NUMTRIES = 3 Announce Speak Without Interrupt Phrase: "We are unable to record your message." Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 626 8 Using Optional Features 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. Using Form Filler Plus Goto STORE_RECORD End Evaluate Announce Speak Without Interrupt Phrase: "We were unable to record your response." Goto FFRECODE7 End Evaluate #Check for system failure. Evaluate If FFCODERET < 0 Announce Speak Without Interrupt Phrase: "We are experiencing technical difficulty." Goto STORE_RECORD End Evaluate Announce Speak Without Interrupt Phrase: "Thank you." Evaluate If FFCODERET > 120 Announce Speak Without Interrupt Phrase: "Maximum recording time exceeded." End Evaluate Goto VERIFY7 #-------------------------------------------------#Terminate the call after either storing the record #or speaking system failure or silence failure Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 627 8 Using Optional Features 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. Using Form Filler Plus #messages and saying goodbye. #-------------------------------------------------STORE_RECORD: External Action: FF_Store return_field: FFSTORERET End External Action Evaluate If FFSTORERET < 0 Goto SYSTEM_FAILURE End Evaluate Announce Speak Without Interrupt Phrase: "Goodbye." Disconnect Quit SILENCE_FAILURE: Announce Speak Without Interrupt Phrase: "We are unable to record your message." Disconnect Quit SYSTEM_FAILURE: Announce Speak Without Interrupt Phrase: "We are experiencing technical difficulty." Disconnect Quit Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 628 9 Speech Administration Overview Most Intuity CONVERSANT applications involve playing recorded speech to the caller. This chapter describes the speech administration component of Script Builder. Topics covered include: • Speech Terminology on page 630 • The Speech Administration Window on page 637 • Recording, Editing, and Playing Speech on page 645 • Copying Speech on page 660 • Importing Speech on page 661 • Removing Speech on page 664 • Sharing Speech on page 666 • Restoring Speech on page 668 • Enhanced Basic Speech Library on page 670 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 629 9 Speech Administration • Speech Terminology Professionally Recorded Speech on page 671 For detailed information about speech development, see Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201. Speech Terminology Phrases A phrase refers to a unit of speech (for example, letter, number, word, sentence, paragraph) that is spoken to the caller. Examples of phrases include a welcome message, a bank balance, or the name of a month. Every speech phrase in an application is identified by a phrase tag or phrase number. A script speaks a phrase to callers by referencing either the phrase tag or the phrase number in the application. Phrase Tags A phrase tag identifies a specific phrase. When you define a message to be played in the transaction component, you specify a given phrase by its tag (as opposed to its content). Three different types of phrase tags exist, standard, custom, and predefined. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 630 9 Speech Administration • Speech Terminology Standard phrase tags Enhanced basic speech (EBS) is made up of commonly used (standard) phrases, in each available language, such as: ~ Monetary values ~ Time ~ Weekdays ~ Months ~ Numbers See Enhanced Basic Speech Library on page 670 for more information. • Custom phrase tags Custom phrase tags are designed specifically for the application you are developing. For example, ~ “account” ~ “bank” ~ “credit” ~ “interest” Predefined Phrase Tags Several phrases are used by Script Builder for spoken output, such as phrases of the digits and letters in various inflections. These phrases have predefined phrase tags. Predefined phrase tags always begin with a colon (:). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 631 9 Speech Administration Speech Terminology Do not use a colon as the first character in any phrase tag. Confusion can arise if a colon is used in any instance other than for predefined phrase tags. Note: If you try to enter a phrase tag that begins with a colon in the Define Announce screen, the software accepts it only as part of one of the predefined phrase tags. If you use a colon on any other phrase tag, a warning message appears on the message line when you press E NT ER or F3 (Close). Table 52 on page 633 and Table 53 on page 635 list all the predefined phrase tags. Inflections Three types of inflection exist with speech phrases: rising, medial, and falling. Rising inflection is used in questions and at the beginning of some words. For example, in the question “Are you coming to work tomorrow?,” the word “are” is spoken with rising inflection. Medial inflection is usually used in the middle of a word or statement. For example, when you speak the number “101”, “0” is spoken with medial inflection. Falling inflection is usually used at the end of a word or statement. For example, when you speak “2.0,” the “0” is spoken with falling inflection. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 632 9 Speech Administration Speech Terminology Table 52. Predefined Phrase Tags — Digits Inflection Rising Medial Falling :0? :0 :0. :1? :1 :1. :2? :2 :2. :3? :3 :3. :4? :4 :4. :5? :5 :5. :6? :6 :6. :7? :7 :7. :8? :8 :8. :9? :9 :9. :10? :10 :10. :11? :11 :11. :20? :20 :20. 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 633 9 Speech Administration Speech Terminology Table 52. Predefined Phrase Tags — Digits Inflection Rising Medial Falling :30? :30 :30. :100? :100 :100. :1000? :1000 :1000. :1000000? :1000000 :1000000. to to to 2 of 2 Note: See Formats for Spoken Output on page 53 in Chapter 3, Data Management, for additional information on spoken output and inflection. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 634 9 Speech Administration Speech Terminology Table 53. Predefined Phrase Tags — Letters Inflection Enhanced Basic Speech Rising Medial Falling :a? :a :a. :b? :b :b. :c? :c :c. :d? :d :d. to to to :w? :w :w. :x? :x :x. :y? :y :y. :z? :z :z. EBS phrase tags include all the predefined phrase tags, plus a number of other tags that are commonly used in many applications. Using these tags helps to maintain consistency among various applications. When selecting phrase tags, be aware of language-specific traits such as sequence of words. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 635 9 Speech Administration Speech Terminology Use built-in speech formats to specify how the system is to speak information. For example, if you want the system to speak a number using a monetary format, you could use number phrases followed by the phrase “dollars and,” then the number of cents and the phrase “cents.” See Chapter 2, User Interface, for additional information on field formats. See Appendix A, Sample Application, for a complete listing of standard and custom speech used in the River Bank application. See Enhanced Basic Speech Library on page 670 for information on languages available and Appendix A. "Enhanced Basic Speech Formats," in Intuity CONVERSANT System Version 7.0 Speech Development, Processing and Recognition, 585-313-201, for information on languages available. Custom Speech Custom speech includes phrases designed specifically for the application you are developing. For example, “Thank you for calling River Bank.” Whenever you use a speech format in defining the transaction, the system automatically adds the necessary phrases for that format to the phrase list in the primary speech pool. Then you can select and record them. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 636 9 Speech Administration The Speech Administration Window The Speech Administration Window Use the Speech Administration window to perform the following activities to speech in your Script Builder application: • Adding phrase tags • Identifying speech that must be recorded • Recording speech • Editing speech • Playing speech • Copying speech • Importing speech from other applications • Removing speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 637 9 Speech Administration The Speech Administration Window Accessing Speech Administration To access the Speech Administration window: 1 Start at the Define Application screen (Figure 14 on page 40), and select >Speech Administration If spadm is not assigned to an in-service channel or a DNIS number, the system displays a request to assign spadm script to a voice channel (Figure 160 on page 638). Figure 160. Assign spadm script to a voice channel 2 To assign the spadm script through Script Builder, press F 2 (Choices) to select a channel from a menu, then press F3 (Close). Or, you can use the Configuration Management screens. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 638 9 Speech Administration The Speech Administration Window You must enter a Tip/Ring channel that is INSERV. See Chapter 3, “Voice System Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on determining which channels are INSERV. Note: If the channel number that you enter is on a E1/T1 circuit card, a message is displayed instructing you to use the Configuration Management screens under the Voice System Administration menu to make the assignment. Do not assign service to a specific E1/T1 channel. Assign it to a DNIS number instead. No phone connection cannot be made unless spadm is assigned. If you do not want to assign spadm, press F6 (Cancel) to exit this screen. Note: If you are only going to review the listed phrase tags, you do not need to assign spadm to a channel. The system displays the Speech Administration window (Figure 161 on page 640). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 639 9 Speech Administration Figure 161. The Speech Administration Window Speech Administration Window Displaying Phrase Tags The Speech Administration Window (Figure 161 on page 640) contains a list of all phrases from the primary and secondary speech pools. If you are entering the Speech Administration Window for the first time in this Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 640 9 Speech Administration The Speech Administration Window transaction, phrases are displayed according to the Show Phrase Options menu default value, which is Custom phrases used by this transaction. Unrecorded phrase tags that have been created in the Speech Administration Window or referenced in the transaction are preceded by an asterisk (*). Each screen item shows the owner application’s speech pool name (by the side of the tag) if the owner is different from the application you are currently developing. A given application can develop a rather long list of phrase tags. You can tailor the phrase list to display only the phrase tags relevant to the task at hand. For example, when playing speech, you may want to display only those phrases that have been recorded. Or when recording speech, you may want to display only those phrases that need to be recorded. This feature determines only the phrases that are displayed in the screen. The actual phrase tags and recordings are not affected. To display speech phrases: 1 From the Speech Administration Window, press F7 (Show). The system displays the Show Phrase Options menu (Figure 162 on page 642). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 641 9 Speech Administration The Speech Administration Window Figure 162. Show Phrase Options Menu 2 Select the display option desired. Choose Standard phrases to list all standard phrases from the primary speech pool. To limit the list to those phrases referred by the transaction only, choose Custom phrases used by this transaction or Standard phrases used by this transaction. Note: Phrase tags added while the Recorded phrases display option is selected are displayed temporarily until speech has been imported. You may see some unexpected phrase tags, such as “dollars.” If you have used a field format in the transaction that requires phrase tags, the system automatically adds the tags to the list. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 642 9 Speech Administration The Speech Administration Window Adding Phrase Tags To add phrase tags to your application: 1 Use the cursor movement keys to highlight the location where you want the phrase tags added from the Speech Administration Window. 2 Press F1 (Add) to open the Add Operations menu (Figure 163 on page 643). Figure 163. Note: Add Operations Menu The display option selected in the Show Phrase Options menu (Figure 162 on page 642) limits the use of the Add Operations menu. To add a custom phrase tag, you must first show the custom phrases (this is done by default). To add digits or letters, you must first show the standard phrases. To change the display option, press F 6 (Cancel) and then F7 (Show). If you select the All Phrases option, your Add Operations are unrestricted. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 643 9 Speech Administration The Speech Administration Window 3 Select Add a custom phrase tag (or a different choice). The system displays the Add a Phrase Tag window (Figure 164 on page 644). Figure 164. Add Phrase Tag Window 4 Type the name of the phrase tag. When creating phrase tags, follow these guidelines: ~ Tags must be from 1 to 50 characters in length. ~ Valid characters include any ASCII-printable character, except double quotes (“). ~ Tags should be the first few words that constitute the actual recorded speech, or words that remind you what the actual speech should be. ~ Tags must not begin with a colon (:). The system reserves the use of this character to indicate a predefined phrase. Note: To add a group of predefined phrase tags, press F7 (Show) to display the standard phrases and select the group desired. The system adds them to the list. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 644 9 Speech Administration The Speech Administration Window 5 Press F3 (Close) when the tag is typed as desired If two pools are used, a screen is given, displaying the two pool names. You have the option to specify the pool in which you want to store this phrase. The system adds the tag to the list (with an asterisk *). The Add a Phrase Tag window clears so you can enter additional phrase tags. 6 Press F6 (Cancel) when you have added as many phrase tags as desired. Recording, Editing, and Playing Speech You can record, edit, and play speech through function keys available while viewing the Speech Administration Window. These functions require hardware and connections that are not required by other speech administration operations. Also, the system must be operating for these functions to be available. ! CAUTION: You should not attempt to simultaneously record and play the same speech phrase as this causes corrupted speech phrases. If your script is active and a customer has access to a phrase that you are trying to record, you should create a temporary speech phrase and then copy the temporary phrase over the active phrase. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 645 9 Speech Administration The Speech Administration Window Use the spsav command to copy all speech after you make any changes. This allows you to restore the speech disk(s) during a recovery process with the spres command, rather than from a mkimage tape, which takes longer and may not restore all speech. Note: Hardware Requirements The F4 (Record) and F6 (Edit) functions display a caution message if the speech phrase tag is shared by another application using the same speech pool. The first five other applications are displayed. The Script Builder voice editor operates on the speech and signal processor (SSP) circuit card. Using the SSP allows the editor to work with network interface circuit cards, such as the E1/T1 and Tip/Ring. The Script Builder Voice Editor supports a speech coding rate of 32 kbps ADPCM. Whether recording, playing, or editing speech, the network interface circuit cards must be connected to the TDM bus. The spadm script must be assigned to a channel that requires an SSP circuit card to record speech. Note: The audio jack cannot be used with the E1/T1 interface; you must use the telephone interface. However, with the Tip/Ring and SSP interface circuit cards, you can use the audio jack or the telephone interface. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 646 9 Speech Administration The Speech Administration Window Connect audio equipment to Audio In, which uses channel 0 of the circuit card. See the maintenance book for your platform for information about how to remove the panel, and the location of the Tip/Ring circuit card. If you try to record/edit speech and there is a problem with the SSP circuit card, you may see the following message: All SP boards are currently busy, please try again. Check the Message Log Report for the specific cause of the spadm script not allowing recording. Establishing a Telephone Connection To establish a telephone connection, call the telephone number of the channel to which you assigned spadm. A telephone connection is required to record, edit, or play speech. Through the telephone, you can: • Record speech used to test an application Note: Professionally recorded speech is recommended for your completed application. • Edit speech • Play speech The system disconnects the telephone automatically when you exit the Speech Administration Window. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 647 9 Speech Administration Recording Speech The Speech Administration Window To record speech: 1 In the Speech Administration Window (Figure 161 on page 640), highlight the phrase you want to record, and then press F 4 (Record). If the selected phrase has been recorded previously, you are reminded of this and cautioned that you are about to erase the existing recording. You are asked to confirm that you want to proceed. ! CAUTION: If you use this procedure to re-record an existing phrase, even if the encoding process fails, the existing phrase is erased. The system displays the Speech Recording Parameters window (Figure 165 on page 649). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 648 9 Speech Administration The Speech Administration Window Figure 165. Speech Recording Parameters Window 2 In the Audio source field, enter t for telephone or a for audio jack. The default setting is telephone. However, audio source selection may be dictated by the available hardware. Note: If you are recording a phrase using a telephone and audio jack is selected, you will record silence. 3 In the Desired coding time field, enter the maximum length (in integer seconds). Range value is 1 to 240 seconds (4 minutes). The default is 30 seconds. The actual recording can be shorter, but not longer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 649 9 Speech Administration The Speech Administration Window 4 The TT Detection field default value is yes, which provides touch-tone termination when recording a phrase. Specify no in the TT Detection field to disable touch-tone detection. If you are recording touch-tones or the speaker appears to be triggering the touch-tone detector, turn off touch-tone detection by specifying no. Note: A recorded phrase that includes touch-tone frequencies will activate speech interrupt if it is enabled. Disable the interrupt capability in the Announce or Prompt & Collect action steps that causes this problem when you test the application. 5 Press CO N T_R EC . The system displays the Speech Recording Window (Figure 166 on page 651). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 650 9 Speech Administration Figure 166. The Speech Administration Window Speech Recording Window This window includes the Elapsed coding time (0 seconds), and Coding session status (which should be READY). If there is a problem with the voice coder (not READY), you can reset it by resetting the system. Press E XI T to return to the Voice System Administration menu (Figure 11 on page 35). Restart Script Builder and try again. See Chapter 2, User Interface, for information about accessing Script Builder. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 651 9 Speech Administration Note: The Speech Administration Window If this process is unsuccessful, you are given an appropriate message. Stop and then start the system using the stop_vs and start_vs commands from the UnixWare system command line. Wait for the READY status message. 6 Follow the prompts on the screen to record your phrase. Select and record any other phrases needed by your application. The system removes the asterisk from the phrase tag in the list. For each phrase, the system displays the Speech Editing Window (Figure 167 on page 657). You can add or remove silence at either end of your recording by using the edit function. See Editing Speech on page 656. Encoding Speech Through the Audio Jack You can encode speech that has been professionally recorded. Use the audio jack for the input connection, and monitor the speech through the telephone. Recording Speech To Be Encoded When recording speech to be encoded, the speech must be of the highest quality. Follow these guidelines to ensure high-quality speech: • Use a professional sound studio for recording application speech. This is extremely important—even the air movement in a room can cause background noise or hiss on the tape. • Use commercially available noise reduction when recording, if possible. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 652 9 Speech Administration The Speech Administration Window • Obtain sample tapes from the studio of the speaker’s voice before you commit to using that studio and/or speaker. • Listen to the sample tapes through the same play device that you will use to encode the speech. Listen for background noise or hissing on the tape through a set of professional headphones. Note that lower quality equipment does not amplify the background noise on the tape; however, once encoded onto the system, the background noise will be heard and usually makes the speech unacceptable. • Use the sample tapes to encode some sample phrases. Call in to the system and listen to the phrases over the telephone. This gives you an indication of the quality you can expect. Prerequisites for Encoding Speech • The speech to be encoded must be recorded following the guidelines explained in this book, and on equipment that meets the specifications provided in the maintenance book for your platform (hardware expansion chapter). • Make sure the tape player/recorder is connected directly to the audio input jack on a Tip/Ring circuit card. If the player/recorder does not have an adjustable amplified output source, you may need an amplifier to control the input level to the Intuity CONVERSANT system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 653 9 Speech Administration The Speech Administration Window • Make sure you have a telephone number of a channel on the same Tip/Ring circuit card to which the tape player/recorder is connected. It is essential that the number reach a channel on the same Tip/Ring circuit card in order for the system to calculate the channel to use for the audio source. • In addition, the encoding station must have: ~ A telephone for monitoring the speech recorded ~ The appropriate number of audio jack cables to connect the equipment. The cable connecting to the system should be shielded. Encoding Recorded To encode recorded speech: Speech 1 In the Speech Administration Window (Figure 161 on page 640), highlight the phrase you want to record, then press F 4 (Record). The system displays the Speech Recording Parameters window (Figure 165 on page 649). 2 In the Audio Source field, press F2 (Choices) to display a menu that includes Audio Jack. Enter A, or select Audio Jack. Note: Do not hang up the telephone. You must maintain the telephone connection in order to encode the phrases. You still must use the telephone handset to listen to and edit all encoded phrases. You may not encode new phrases by speaking into the mouthpiece. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 654 9 Speech Administration The Speech Administration Window 3 In the Desired coding time field, enter the recording time limit, in seconds. 4 In the TT Detection field, specify yes or no. 5 Press CO N T_R EC . The system displays the Speech Recording Window (Figure 166 on page 651). This window includes the Elapsed coding time (0 seconds), and Coding session status (which should be READY). 6 Find the beginning of the phrase you want to encode, then back up the tape approximately one second. 7 To encode the phrase, press S TA RT _VC on the keyboard, then immediately press the PLAY button on the tape player. 8 When the desired phrase has been encoded (you can hear the end of the phrase through the telephone), simultaneously press STO P _VC on the keyboard and the STOP button on the tape player. The system removes the asterisk from the phrase tag in the list. For each phrase, the system displays the Speech Editing Window (Figure 167 on page 657). You can add or remove silence at either end of your recording by using the edit function. See Editing Speech on page 656. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 655 9 Speech Administration Editing Speech The Speech Administration Window Use this function to trim off (remove) pieces of the recording, from one or both ends, and playing the edited recording, until you are satisfied with the way at sounds at each end. You can restore what you have trimmed in any given editing session, if too much is trimmed. Each time you press F6 (Edit) the system begins a new editing session. However, once you install a phrase as edited, the trimmed portions cannot be recovered. The Speech Editing Window shows: • The current editing resolution. This is the amount of time that will be removed from the phrase the next time it is trimmed. The default resolution is .02 seconds. • The current length of the phrase, in seconds, taking into account how much has been trimmed during the current editing session. • The amount of speech that has been trimmed from the beginning of the recording during the current editing session, in seconds. • The amount of speech that has been trimmed from the end of the recording during the current editing session, in seconds. To edit speech: 1 In the Speech Administration Window (Figure 161 on page 640), highlight the phrase you want to edit, then press F 6 (Edit). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 656 9 Speech Administration The Speech Administration Window If the phrase tag may be referenced by another application sharing the same speech pool, the system displays the first five applications referring to the phrase tag in the caution message. The system displays the Speech Editing Window (Figure 167 on page 657). You can only edit a phrase for which speech has been recorded. Figure 167. Speech Editing Window 2 Press F 5 (Play) at any time to hear the recording as currently trimmed. To stop the play process, enter a touch tone from the telephone. While play back is in process, the system does not accept any other requests. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 657 9 Speech Administration The Speech Administration Window 3 Press T_B EG IN or T_EN D to trim (remove) silence or unwanted sounds from the beginning or end, respectively. The amount trimmed is determined by the current value of the editing resolution. 4 To change the editing resolution, press S ET_S TE P. The system displays the Editing Resolutions menu (Figure 168 on page 658). Figure 168. Editing Resolutions Menu 5 Select the resolution desired. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 658 9 Speech Administration The Speech Administration Window 6 If you decide you have trimmed too much, press R_B EG I N or R _EN D to the beginning or end, respectively, to restore all the speech that has been trimmed from that end during the current editing session. 7 Press F4 (Install) to complete the editing session, establishing a new recording, as edited. Or, press F6 (Cancel) to abort the editing session, leaving the recording as it was before the editing session began. Playing Speech Use this function to play a single phrase, or to hear how a series of phrases sound played together. Up to nine phrases can be played with one request if they are from the same speech pool. Use F7 (Show) as necessary to make sure all phrases you want to play are displayed. You cannot select a phrase that does not include any recorded speech. You can use the F 7 (Show) command to display only the phrase tags that have recorded speech. To play speech: 1 In the Speech Administration Window (Figure 161 on page 640), highlight the (first) phrase to be played, then press F 5 (Play). If this is the only phrase is to be played, press F5 (Play) a second time. The phrase is played through your telephone earpiece. 2 To play a series of phrases, use the cursor movement keys to highlight the next phrase in the series, then press S ELE CT. Continue in this manner to select up to nine phrases. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 659 9 Speech Administration The Speech Administration Window Each selected phrase remains highlighted. You may select the same phrase more than once. Each time you select a phrase, it counts against the nine-phrase limit. 3 When all the phrases in the series have been selected, press F5 (Play). The phrases are played through your telephone earpiece, in the order they were selected. Regardless of the number of phrases selected, after the phrase (or series) is played, you are offered the option to replay it. 4 Press R E PLAY to hear the phrase (or series) again. Repeat R E PLAY as many times as desired. 5 Press F6 (Cancel) to return to the Speech Administration Window. Copying Speech Use this function to copying existing speech to create new phrases. It also provides an extra version of the speech phrase for future reference. It is important to remember that you are copying speech, not a phrase tag. Both source and destination phrase tags must already exist. To copy speech: 1 In the Speech Administration Window (Figure 161 on page 640), highlight the phrase tag of the speech to be copied, then press F3 (Copy). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 660 9 Speech Administration The Speech Administration Window 2 Use the cursor movement keys to highlight the phrase that will receive the speech copy. The source tag remains highlighted as a reminder of the speech that will be copied. Note: Use F 6 (Show) as necessary to make sure both tags are currently displayed. See Displaying Phrase Tags on page 640. 3 Press F3 (Copy) a second time. If the phrase destination is currently unrecorded, the speech will be copied. If the phrase already includes recorded speech, you are warned that the existing speech will be lost, and asked to confirm that you want to proceed. See Copying an Application on page 695 in Chapter 10, Application Administration, for more information on copying Script Builder applications. Importing Speech Use this function to copy the speech phrases from the source specified into the current application. Speech can be imported directly from another application on the same machine. Only recorded speech is imported. Phrase tags that have not been recorded are not imported from the source application. Imported speech merges with speech and phrase tags already in your application. Importing of speech applies only to Script Builder applications. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 661 9 Speech Administration The Speech Administration Window In addition, speech can be imported indirectly from: • Any valid list file in the /speech/talk directory • Another application on a different machine • Enhanced Basic Speech purchased from Lucent Technologies • Custom speech purchased from Lucent Technologies To import speech: 1 From the Speech Administration Window (Figure 161 on page 640), press F8 (Chg-Keys) then F2 (Import). The system displays the Importing Speech window (Figure 169 on page 662). Figure 169. Importing Speech Window 2 Enter or select the name of the application from which you want to import the speech, including a .pl at the end of the name. The system displays the Select Import Option menu (Figure 170 on page 663). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 662 9 Speech Administration The Speech Administration Window Figure 170. Select Import Option Menu 3 Select Interactive to stop on every phrase that is to be overwritten and choose not to overwrite. 4 Select Overwrite Phrases to overwrite all speech during the merging process. Note: If speech is being shared, overwriting may affect other applications. If you have named shared speech pools, all Enhanced Basic Speech is merged into the primary speech pool named. All custom speech is merged into the secondary speech pool named. The importation process begins immediately. It may take some time, approximately 10 minutes, if there is a significant amount of speech involved. 5 Select No Overwrite of Phrases to import only those phrases that do not already exist in the current application. 6 If any duplicate tags are found, you are asked to confirm that you want the phrase and recorded speech from the source application to overwrite the phrase tag (and recording, if any) currently in your application. Press Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 663 9 Speech Administration The Speech Administration Window CO N T to confirm or F6 (Cancel) to refuse the overwrite. The importation process proceeds accordingly. Confirmation is requested for each and every duplicate phrase tag. Note: With the exception of duplicate phrases, the system imports all phrases from the source. If the source includes some phrases you do not wish to include in your application, you must import them, then remove the unwanted phrases. Removing Speech Use this function to remove both unrecorded and recorded phrases from the system. Unrecorded Phrases Recorded Phrases If the phrase has not been recorded (indicated by an asterisk * to the left of the tag), there are two possible remove results: • If the phrase has been referenced in the transaction, it remains in the Speech Administration Window. • If the phrase has not been referenced in the transaction, it is removed from the Speech Administration Window. If the phrase has been recorded (that is, there is no asterisk * to the left of the tag), the Remove Phrase Confirmation screen opens, warning you that the phrase includes recorded speech that is removed along with the phrase tag. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 664 9 Speech Administration The Speech Administration Window This is especially important if speech is shared. The phrase tag may be referenced by another application sharing the same speech pool. There are two possible remove results: Procedure • If the phrase has been referenced in the transaction, the recorded speech is removed, but the phrase tag remains in the Speech Administration Window, with an asterisk (*)to the left of the tag. • If the phrase has not been referenced in the transaction, both speech and phrase tag are removed from the Speech Administration Window. To remove speech: 1 In the Speech Administration Window (Figure 161 on page 640), highlight the phrase you want to remove, then press F 2 (Remove). Note: If the speech tag is shared by another application using the same speech pool, the system displays the first five applications referring to the phrase tag. 2 Press CO N T to proceed with the removal, or press F6 (Cancel) to abort the removal if you do not want to loose the speech. See Removing an Application on page 681 in Chapter 10, Application Administration, for more information on removing Script Builder applications. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 665 9 Speech Administration Sharing Speech Sharing Speech The shared speech feature allows two or more applications to share common speech phrases. There are some performance advantages to sharing speech among applications: • Shared speech phrases need to be administered and recorded only once. • Shared speech phrases need to be stored only once, allowing disk space to be conserved. Script Builder allows speech to be grouped into one of two different speech pools: primary and secondary. Although it is possible to use a single speech pool and share speech in this speech pool with another application, shared speech is usually separated from speech that is unique to an application. The system searches only in the primary speech pool for standard phrases. For custom phrases, the system searches first in the primary speech pool and then, if the phrase is not found in this pool, in the secondary speech pool (if one is used). Normally, the primary speech pool includes all the standard phrases, plus any other speech that is common and will be shared by two or more applications. The secondary speech pool includes those custom phrases that are designed to be unique to an application. Each application using the primary speech pool would specify the name of this pool in the Primary Speech Pool Name field of the Shared Speech Pools window (Figure 59 on page 209). In addition, each application would specify a different (nonshared) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 666 9 Speech Administration Sharing Speech pool in the Secondary Speech Pool Name field of the Shared Speech Pools window. Usually, the secondary speech pool would have the same name of the application that uses it. In cases where you do not want to use both a primary and secondary speech pool, you can store both standard and custom phrases in the same speech pool. Custom speech phrases can be in either the secondary or primary speech pool. See Defining Shared Speech on page 207 in Chapter 6, Defining Parameters, for additional information on specifying speech pools. When using both a primary and secondary speech pool, phrases with the same tag should be recorded in both speech pools. If a phrase tag is in both the primary and secondary speech pool, the phrase from the primary pool will be used during the F3 (Verify) step. Consequently, if the phrase is unrecorded in the primary speech pool, an error message is given during F3 (Verify). You are expected to record the phrase in the primary pool, or remove the phrase tag from the primary pool if you want the phrase to be used in the secondary pool. Normally, the system prevents you from creating identical phrase tags. It also gives you an error message informing you that the phrase tag already exists in one of the two speech pools. If identical phrase tags have been created, the system will use the phrase tag from the primary speech pool. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 667 9 Speech Administration Restoring Speech Restoring Speech If you intend to use a standard package of phrases and speech, the procedure below is the easiest way to load it. ! CAUTION: Make sure this is done at the beginning of application development, prior to recording and/or importing any other speech, because this procedure erases any existing speech. Any Script Builder-compatible tape or disks of speech may be used. You can restore speech for the current application, speech for another application, Enhanced Basic Speech, or custom speech. Note: You can use the spres command to restore speech you saved using the spsav command. This process is faster than restoring speech from a mkimage tape, which takes longer and may not restore all speech. ! CAUTION: Restoring speech could be time consuming, depending on the amount of speech to be processed. You may want to restore speech during off hours. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 668 9 Speech Administration Restoring Speech To restore speech: 1 In the Script Builder Applications menu (Figure 12 on page 36), highlight the application for which you are restoring speech. 2 Insert the appropriate tape or disk into the drive. 3 Press F6 (Restore). The system displays the Restore Components menu Figure 171 on page 669. Figure 171. Restore Components Menu 4 Select Speech from the Restore Components menu. The system displays: Enter "F" to use FLOPPY DISK Enter "C" to use CARTRIDGE TAPE Enter "Q" to stop. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 669 9 Speech Administration Enhanced Basic Speech Library 5 Enter F if you are restoring from floppy disk, C if you are restoring from cartridge tape, or Q if you want to quit. After the system restores the speech, it displays the following message: Restore speech successful 6 Press EN TE R to return to the Restore Components menu. See Restoring an Application on page 691 in Chapter 10, Application Administration, for more information on restoring Script Builder applications. See Chapter 2, “UNIX Administration,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for more information on system restore operations. Enhanced Basic Speech Library Enhanced basic speech (EBS), previously called standard speech, allows the system to play commonly used words to callers from professional recordings made by Lucent Technologies. This set includes all letters and digits in different speaking inflections, along with many other commonly used phrases. Also included are all phrases that can be automatically generated by the formats in a play message. You can add as many of these packages to your system as you have space for on your system disk(s). One language is Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 670 9 Speech Administration Professionally Recorded Speech available for each script, but your system can support several different scripts. The recorded voice is female. A male voice is available for US English. See Appendix A, “Enhanced Basic Speech Formats”, in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201, for information about the EBS languages available. Contact the Speech Coordinator for the Intuity CONVERSANT system at 614-860-2260 for additional information on the speech recording service. Professionally Recorded Speech Lucent Technologies can provide you with professionally recorded speech through its speech recording service. Contact the speech coordinator for the Intuity CONVERSANT system at 614-860-2260 for additional information on the speech recording service. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 671 10 Application Administration Overview This chapter describes how to administer a completed Script Builder application. Topics covered include: • Verifying and Installing an Application on page 673 • Removing an Application on page 681 • Backing Up an Application on page 685 • Restoring an Application on page 691 • Copying an Application on page 695 • Executing Multiple Applications on page 697 • Error and Warning Messages on page 697 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 672 10 Application Administration Verifying and Installing an Application Verifying and Installing an Application You should verify and install an application after the following situations: • The application is created. • The application is changed. • The definitions of database tables (remote or local) used by the application are changed. • A transfer sequence in the telephone switch is changed. • An application or part of an application has been restored. • A shared application is changed. Note: In the case of shared applications, you must reinstall not only the host application, but also all voice applications that use the host application. Two steps are involved with installing a Script Builder application: verification and installation. The INSTALL process does not verify the application. You should therefore verify and install a Script Builder application while you are in the Script Builder program. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 673 10 Application Administration Verifying and Installing an Application Verifying an Application Verification of the application is the first step of the installation procedure. Script Builder invokes the transaction state machine (TSM) script code generator and assembler and checks the speech component for recorded phrases. To verify your application: 1 Start from the Define Application menu (Figure 14 on page 40), and press F3 (Verify). The system displays the following message: PASS 1: Invoking the TSM script code generator for application name. The first pass in verification initiates the TSM script code generator. If errors are detected in the application, the code generator displays error messages to locate the problem. The “step” numbers shown with the error message refer to the action steps in the transaction definition outline. Go through the transaction outline and correct any inconsistencies. Then repeat this step. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 674 10 Application Administration Verifying and Installing an Application Next, the system checks speech to make sure all phrases are complete. If a problem arises with incomplete speech, the system displays one of the following messages: PASS 2: WARNING! The speech component is incomplete for application name. The following phrases, referred to by the transaction, are UNRECORDED. PASS 2: ERROR! The speech component is incomplete for application name. The following phrases, directly referred to by the transaction, are UNRECORDED. All custom phrases must be recorded. The Speech Administration window (Figure 161 on page 640) shows unrecorded phrases. All phrases except standard phrases that will not be used in this application must be recorded. However, if the system attempts to use an unrecorded phrase in a call, the Announce will fail, and an Error Tracker message will be generated. In addition, the installation procedure will stop. If speech is complete, the following message is displayed: PASS 2: The speech component is complete for application name. If your application successfully completes these passes, the system displays a Verification successful message. 2 Press F6 (Cancel) to proceed with the installation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 675 10 Application Administration Verifying and Installing an Application Installing an Application The system performs the process of installing an application in two phases. Script Builder invokes the TSM script assembler (Pass 1), then the executable files are moved to the appropriate directories (Pass 2). To install your application: 1 Start from the Define Application menu (Figure 14 on page 40), and press F4 (Install). The TSM script assembler starts, and the system displays the following message: PASS 1: Invoking the TSM script assembler for application name. The TSM script assembler has finished without identifying any errors in your transaction definition. A complete list of output messages from the assembler can be found in the file /att/trans/sb/{application name}/tas_output. Viewing this file is optional. It may contain some warning messages about what the assembler found while successfully installing your application. Then the system displays the following message: PASS 2: Moving the files to the appropriate directories. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 676 10 Application Administration Verifying and Installing an Application If any changes were made in the database component, the system automatically begins to update database tables. The system displays an Installation Completed message. 2 Press F6 (Cancel) to proceed. If you have not assigned the application to a voice channel or host session, a warning message reminds you to do this. The application still can be installed even if a channel has not been assigned to it. Note: The application must pass each phase of the installation process before it continues to the next step. If the transaction fails to pass, you must make corrections and start the installation process again, beginning with the verification step. See Error and Warning Messages on page 697 for specific messages you may get while installing the application. See Chapter 3, “Voice System Administration”, in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for additional information on how to assign voice channels and host sessions. Host Applications If the new application is assigned to host sessions and changes were made in the host interface definition, the system must read in the new host script and update the application. This updating can be accomplished during the application installation process, or later, outside Script Builder with the hnewscript command. Script Builder also gives you the option to invoke the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 677 10 Application Administration Verifying and Installing an Application sb_trace command. This compiles a list of all host screens and stores them in the /vs/trans/hostdata/chan# directory. hnewscript Script Builder displays the following message after successful installation of a host script: Install - Update the old host script version with the new one? Currently, the old version of your application is assigned to host session(s). If you want the newly installed version to be used, the old version should be updated. This will be done now. Press to confirm. Press to cancel. ! CAUTION: If you cancel at this time, you must execute the hnewscript command later to install the new version of the host interface. See Appendix A, “Summary of Commands,” in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on the hnewscript command. If you continue the process, Script Builder executes the hnewscript command for you. The system displays the following message: This procedure causes the system to logout from the host and then login again with the new version of this application. If desired, you can trace the logout and login (that is, capture the sequence of screens exchanged between the system and the host.) Press to confirm. Press to cancel. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 678 10 Application Administration Verifying and Installing an Application Host sessions assigned to the application are first logged out before being logged back in with the new version. Logging back in occurs only after all the sessions are logged out and are in the unassigned state. Sessions that are currently handling a call (in transaction) are not logged out until the call completes. Thus, logging back in with the new version could take a few minutes. To avoid this delay, install the new version of the application during off hours when no sessions are handling calls. If the login and logout sequences are not functioning properly, you may want to monitor the host interface to watch it log in. To correct any inconsistencies, type hfree to release the session. Use the sb_te command to use in the terminal emulator mode. Make the necessary changes to correct the login, logout sequence. Then reinstall and reassign the application to the session. sb_trace Script Builder invokes the sb_trace command for you during the installation process. It automatically captures login screens from the host interface. However, once a channel is assigned to the application and a live call is placed to the system, sb_trace also displays error messages from the DIP and TSM. Figure 172 on page 679 shows an example of the messages that may appear (where the channel number can range from 0 to 89): Figure 172. Example of sb_trace Tracing started on channel 0 DIP0: CH 0 get screen form DIP0: CH 0 save_bal = TSM: CH 0 STEP: 0. VALUE: 10 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 679 10 Application Administration Verifying and Installing an Application TSM: CH 0 STEP: 1. DB: Read Table DB: index 0 In the message above, STEP refers to the corresponding action step in the transaction definition outline. VALUE refers to whatever value is given with the indicated action step. The sb_trace command traces the voice channel and any LUs the script uses, regardless of their LU number. For example, a script can be assigned to voice channel 2, but use LU 7 for host communications. In certain cases, it is possible to trace a specific LU. For example, when an LU is not in use with a voice script and the LU executes a login, logout, or recovery sequence, sb_trace prints trace output for the specified LU number. Certain library functions may generate trace messages when they are passed invalid data or they encounter other failures. These messages are recognizable by the fact that the step number is out of the range of normal action numbers that appear in the transaction definition. Special trace messages all use step numbers equal to or greater than 25000. These messages are provided only for diagnostic purposes, and do not necessarily indicate a fatal error in the script. See Error and Warning Messages on page 697. If the buffer (storage area) where information is stored gets reused before the information is completely shown, trace information may not get reported by sb_trace. The information you see may not be complete. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 680 10 Application Administration Removing an Application To make sure you get the information you want, add a Play Message action step in the transaction to play a long silence. Insert it before the critical action step you want to trace. Removing an Application To remove an application: 1 Highlight the application to be removed from the Script Builder Applications menu (Figure 12 on page 36). 2 Press F8 (Chg-Keys), and then press F2 (Remove). Note: If the application to be removed is currently assigned to voice channels or host sessions, the Remove operation is aborted. You must unassign this application before proceeding with this function. See Chapter 3, “Voice System Administration”, in Intuity CONVERSANT System Version 7.0 Administration, 585-313-501, for information on unassigning service to voice channels or host sessions. If the application to be removed is currently not assigned to voice channels or host sessions, the system displays the Remove Components menu (Figure 173 on page 682). You can remove a particular component by selecting that item or remove all components by selecting All of the Application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 681 10 Application Administration Figure 173. Removing an Application Remove Components Menu 3 Select >All of the Application Note: Even if the application does not include every component (for example, the application does not include local database tables or its own speech), you can select All of the Application. The system displays the following message: Type y to remove or n to retain when prompted to remove the installed portion of the application. The system does not allow you to remove database files or speech unless you have removed the installed portion of an application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 682 10 Application Administration Removing an Application 4 Select >Local Database Tables If Local Database tables exist for this application, the Remove Local Database Tables menu opens. The menu includes all local database tables and a list of individual tables. These are the tables owned by the application selected in the Script Builder Applications menu. Remember that these tables can also be owned by other applications as well. A confirmation message prompts you to type y to continue, or n to cancel the remove process. If you enter y, the confirmation message includes a list of the first five applications sharing the Local Database Table. If All Local Database Tables was selected for removal, a confirmation message appears for each table listed in the menu. Note: Remote ORACLE database tables can be removed only through Script Builder on the remote machine or by using ORACLE administrative tools on the remote machine (or, if the remote machine is an Intuity CONVERSANT system, by using the Remove Components menu on that machine). Consequently, if you select All Local Database Tables in the Remove Components menu, you remove only the data from the local database tables. See the ORACLE 7 Server Administrator’s Guide for information on removing remote ORACLE database tables. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 683 10 Application Administration Removing an Application When you have previously restored the Local Database Tables but not the transaction portion of an application, you cannot remove the restored database tables through the Remove Components menu. The transaction portion of the application defines the link between the previously restored database tables and the application name and must be available in order for the tables to be removed through the Remove Components menu. When only the Local Database Tables portion of the application has been restored, the database tables may be removed with SQL*Plus. The restored database tables may also be removed by defining a dummy application, making the tables accessible to the dummy application, and then removing the restored tables through the Remove Components menu. 5 Select >Speech If the application has its own speech, a message indicates the first five applications that share the same speech. Type y to continue, or n to cancel the process. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 684 10 Application Administration Backing Up an Application ! CAUTION: Do not remove speech that is shared by another application unless your intent really is to remove the speech from the system. The remove process removes the speech from the system, not just from the application. 6 Select >Transaction If a transaction exists, a confirmation message appears. Type y to continue, or n to cancel the process. Backing Up an Application Use the backup utility to make an archive copy of your completed application or to make an interim copy of an application in progress. The backup copy can be restored to the Intuity CONVERSANT system if the online version is damaged or if you make revisions and want to go back to the previous version. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 685 10 Application Administration Backing Up an Application It is vital that you make backup copies of your application regularly during its design and development. It only takes the loss of one application, or even the loss of a day’s work, to appreciate the value of investing a little time toward preventive maintenance. ! CAUTION: Do not put any user-created files in the Script Builder directories. These directories should contain only files created by the system. User-created files will cause the recovery from a back up copy to fail. Backup Media The backup media can be either floppy disk or cartridge tape. If you use floppy disks, you need three or more. Be sure to use only high-density floppy disks. Using double-density disks will cause the backup procedure to fail. If you use floppy disks, you must have the formatted floppy disks ready at the time of backup. Typically, you will need three floppy disks to back up an application, excluding speech (which typically takes 1–5 floppies). If you use a cartridge tape, you can back up all components on one or more tapes. You cannot back up two different applications to the same floppy disk or cartridge tape. You can reuse floppy disks or tapes from a previous backup. However, any existing application backed up to that media is erased during the new backup procedure. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 686 10 Application Administration Backing Up an Application Backup Procedure To backup an application: 1 Highlight the application to be backed up from the Script Builder Applications menu (Figure 12 on page 36) 2 Press F8 (Chg-Keys), then press F5 (Backup). The system displays the Backup Components menu (Figure 174 on page 687). Figure 174. Backup Components Menu 3 Select >All of the Application Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 687 10 Application Administration Backing Up an Application This will allow you to back up all of the data of the local database tables, all the speech in one or two speech pools used by the application, and all the transaction files for the application selected. Note: You may choose to back up only a part of the application. 4 Select >Local Database Tables The system displays the Local Database Tables menu. This menu contains the choices and a list of individual database table names. These are the tables owned by the application highlighted in the Script Builder Applications menu. Remember that a table can have multiple owners and selecting All Database Tables backs up all the data in the local database tables. Note: Remote ORACLE database tables must be backed up on the remote machine using ORACLE backup procedures (or, if the remote machine is an Intuity CONVERSANT system, by using the Backup Components menu on that machine). Consequently, if you select Local Database Tables in the Backup Components menu, you will back up only the data in the Local Database Tables. See the ORACLE7 Server Administrator’s Guide for information on backing up database tables on the remote machine. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 688 10 Application Administration Backing Up an Application 5 Select >Speech This allows you to backup only the speech for the home application Note: In the case of shared speech, the individual applications containing the shared speech must be backed up separately. ! CAUTION: Use the spsav command to copy all speech after you make any changes. This allows you to restore the speech disk(s) during a recovery process with the spres command rather than from a mkimage tape, which takes longer and may not restore all speech. 6 Select >Transaction This allows you to back up all the files under the selected application, except any database table data or speech. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 689 10 Application Administration Backing Up an Application The system calculates the number of floppy disks or tapes needed to make the backup copy and displays the number for you. 7 You may cancel the backup operation if you do not have enough formatted floppy disks available. If you do not have enough formatted floppy disks, return to the Intuity CONVERSANT system menu and select UnixWare System Administration. Formatting capabilities are provided under the Storage Devices option. See “Formatting diskettes,” under “Common System Procedures,” in Intuity CONVERSANT System Reference, 585-313-205, for information about formatting disks. If you choose to proceed, the system prompts you to insert and remove floppy disks at the appropriate times. Be sure to label and number floppy disks in the order that you use them to make future backup/restore operations easier. When the backup is complete, the system displays the Backup Components menu (Figure 174 on page 687) to allow backup of another selection (Local Database Tables, Speech, or Transaction). 8 Proceed with the next backup or press F6 (Cancel) to return to Script Builder Applications screen. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 690 10 Application Administration Restoring an Application Restoring an Application Use the restore utility to replace a damaged application or to restore an older version of an application. Note: Be sure to have available all the floppies or cartridge tapes which constitute the backup copy. To restore an application: 1 Highlight the application to be restored from the Script Builder Applications menu (Figure 12 on page 36). 2 Press F8 (Chg-Keys), then press F6 (Restore). The system displays the Restore Components menu (Figure 175 on page 691). Figure 175. Restore Components Menu Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 691 10 Application Administration Restoring an Application The application highlighted is the destination application. The application name on the floppy disk is the source application. Note: If you restore an application using a name other than that which the application was backed up as, the original application name still appears in the list of applications and in the speech pool fields. 3 Select >All of the Application This allows you to restore all portions of the application. The system first checks to find out if the backup media has the necessary files. If the files exist on the floppy disk or cartridge tape, all the data is copied into a temporary area on the hard disk. This area is cleaned up when the restore operation ends successfully or aborts. Note: You may choose to restore only a part of the application. 4 Select >Local Database Tables Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 692 10 Application Administration Restoring an Application The system checks to see if the new local database tables exist in the system. If the local database tables do not exist, the new tables are installed into the Data Base Management System (DBMS). If the tables already exist in the system and are shared by another application, the tables are listed with the application name. The first five applications are listed. You then are prompted to either remove or keep each of these tables. If you select to keep a table, the data being restored is appended to the existing table. Note: If a table is appended, there may be duplicate records. To avoid having duplicate records, you may want to delete the table before you execute the restore procedure. Database tables are treated as part of the Script Builder application. Consequently, database tables may only be restored and used when the Transaction portion of the application is restored through the Restore Components screen. You cannot restore remote ORACLE database tables through the Restore Components screen because these database tables are not backed up through the Backup Components screen. Consequently, when you select to restore either All of the Application or only Local Database Tables, the system restores the data of only the Local Database Tables. For information on backup and restores procedures or ORACLE database tables, see the ORACLE RDBMS Database Administrator’s Guide. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 693 10 Application Administration Restoring an Application 5 Select >Speech Only the home application’s speech is backed up; therefore, the restore operation checks to see if there is speech already owned by the destination application. If shared speech exists, you are prompted to remove the shared speech or to allow it to remain. The first five applications that share the speech are listed. Note: The Intuity CONVERSANT system must be running in order to restore speech. If service was assigned previously, those applications will answer calls that may be received while speech is restored, but the speech will not be available. To prevent this, either remove the service from the circuit cards or take the circuit cards manually out of service before restoring speech. 6 Select >Transaction Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 694 10 Application Administration Copying an Application You are prompted to restore the transaction component if it exists. If you choose to restore the transaction, the system displays a warning that this procedure will overwrite the files that already exist for the transaction and prompt you to type y to continue or n to abort the restore. 7 You are given a chance to continue or cancel the restore operation as it proceeds. If you continue and you are using floppy disks, you are prompted for each floppy as needed. When the component is restored, the Restore Component screen reappears. 8 At this time, you may choose to restore another component. When all restoration is complete, press F6 (Cancel) to return to the Script Builder Applications screen. Copying an Application To copy information from one application to another: 1 Highlight the application to be copied from the Script Builder Applications menu (Figure 12 on page 36). 2 Press F8 (Chg-Keys), then press F3 (Copy). The system displays the Copy Application window (Figure 176 on page 696). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 695 10 Application Administration Figure 176. Copying an Application Copy Application Window 3 Type a name for the new application. The new name must be unique. 4 Press F3 (Close) to complete the copy when you have finished typing the destination application name. Information from the source application will be directed into the destination application name. ! CAUTION: Exercise caution when using the F 3 (Copy) function in conjunction with a Remove of the original (copied) application. Only the transaction portion of the application is copied. At this point, database or speech files will be shared by the original application and the new (copy) application. If you remove the original application, database and speech files will be removed along with the original application, and will be unavailable for use by the new application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 696 10 Application Administration Executing Multiple Applications Executing Multiple Applications During the course of Script Builder application development, you will most likely have several applications under development on the Intuity CONVERSANT system. There are some rules that must be followed when executing these multiple Script Builder applications. You may have multiple applications running that specify a host and a database. However, with databases, be sure to give each database a unique name. If you do not, the database of the application installed last will overwrite the database of the application installed earlier. See Chapter 4, Defining the Host Interface, and Chapter 5, Creating Database Tables, for additional information on hosts and databases. The data interface process (DIP) uses one extract.c file. All external fields for all applications must be placed in this file. For additional information on the extract.c file, see Chapter 11, Using Advanced Features. Error and Warning Messages Script Builder displays error and warning messages to let you know where problems exist in your application. Information provided in an error message indicates a problem that must be corrected before the application can be Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 697 10 Application Administration Error and Warning Messages installed. Warning messages do not prevent the application from being installed, however, these items are of concern and should be examined. Formats If the error is associated with a specific action, the following format is used: Transaction Definition, Action Number ####: error: or Host Maintenance Def. Action Number ####: error: If the syntax is not recognizable, the following message format is used: error: Syntax Error at character ‘c’ on line ### of Action Number #### If the error is not associated with a specific action the following format is used: error: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 698 10 Application Administration Error and Warning Messages Lists of Related Messages The following is a listing of error and warning messages, produced by the code generator, that may appear on the screen during the application installation process. The [ ] brackets represent spaces where messagespecific information is inserted. Most of the messages that appear are fairly self-explanatory and contain the solution to the inconsistency in the message line. However, a few of the messages need additional information. In this book, an asterisk (*) appears at the end of the messages that require further explanation. The asterisk does not appear in the actual message line. See the following statement for additional information regarding these particular messages. *An inconsistency has been found in the application. Try to correct any information relating to the data contained in the message text. Next, undo any recent changes made to the transaction, then restore the application from backup, if one is available. If problems persist, contact Lucent Technologies support personnel. Host Maintenance Definition • ####: error: Aid Key must be specified in Send Host Screen Action • ####: error: bad if_op [] (* bad if_operator statement) • ####: error: Duplicate Label, [], in Host Maintenance program Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 699 10 Application Administration Error and Warning Messages • ####: error: Field [], can only be $HOST_LOGINID or $HOST_PASSWORD • ####: error: Field [] is not a valid field for screen [], or has invalid direction • ####: error: Field [] may not be set to an expression • ####: error: Label [], used in GOTO does not exist • ####: error: LU [] requires a login or password in Environment Definition • ####: error: Missing symbol table entry for screen [] (*) • ####: error: Statement type [] not implemented (*) • ####: error: There must be at least one Transaction Base screen • ####: error: Too Many Labels, [], in Host Maintenance program • ####: warning: Missing symbol table entry for field [] in screen [] • ###: warning: Too Many CALL DATA Fields are being saved; last good one is [] • ####: warning: Transaction has not yet been defined. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 700 10 Application Administration Transaction Definition Error and Warning Messages • ####: error: [] is not defined in SYMBOL Table as a Field (*) • ####: error: Aid Key must be specified in Send Host Screen Action • ####: error: Announce/Play Message Action must be defined • ####: error: bad if_op [] (* bad if_operator statement) • ####: error: Caller Input Field [] can’t be Num datatype • ####: error: Caller Input Field [] is not big enough to hold the Max. Number of Digits • ####: error: Caller Input Field, [], must be at least [] characters in length for the specified recognition mode. • ####: error: Character Field required for argument [], [] • ####: error: Checklist Case can’t start with “r” • ####: error: Confirm action used outside the context of a Call Input Action • ####: error: Constant is not allowed for argument [], [] • ####: error: Constant must be numeric for argument [], [] • ####: error: Continue action used outside the context of a Call Input Action (*) • ####: error: Database [] not defined. • ####: error: Evaluate Action must be defined • ####: error: External Action must be defined Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 701 10 Application Administration Error and Warning Messages • ####: error: External Action, [], requires at least [] arguments • ####: error: External Action, [] requires [] arguments • ####: error: External Function, [], requires [] arguments • ####: error: External Function Action must be defined • ####: error: External Function, [], requires at least [] arguments • ####: error: Field [] for screen [] must be To Host or Both • ####: error: Field [] has invalid size, [], in SYMBOL Table (*) • ####: error: Field [] has type [], but format [] requires a Char datatype • ####: error: Field [] has type [], but format [] requires a Date or Char datatype • ####: error: Field [] has type [], but format [] requires a Time or Char datatype • ####: error: Field [] invalid for argument [], [] (you can’t write to this field) • ####: error: Field [] is not defined • ####: error: Field [] is too small to hold value placed in it • ####: error: Field used in Transfer not defined properly Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 702 10 Application Administration Error and Warning Messages • ####: error: Get Screen Action must be defined • ####: error: ‘If’ part of Evaluate Action must have actions under it • ####: error: Intelligent Transfer Must be defined • ####: error: (Internal Error)Bad Evaluate Relation • ####: error: (Internal error)Field [] has unknown datatype in SYMBOL Table • ####: error: (Internal Error)Field [] has unknown/missing datatype in SYMBOL Table (*) • ####: error: (Internal Err)Screen [] not defined in symbol table (*) • ####: error: Invalid character [] in Checklist Case • ####: error: Invalid Format, [], in Announce/Play Message statement • ####: error: Invalid Format, [], in Play statement • ####: error: Invalid Touch-Tone digit for Confirm Action • ####: error: Invalid transfer type • ####: error: Label [] multiply defined • ####: error: Label [], used in Goto does not exist • ####: error: Missing External Function Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 703 10 Application Administration Error and Warning Messages • ####: error: Missing Yes/No Speech Recognition type, SYN, required for Confirm Action • ####: error: Modify Table Action must be defined • ####: error: Number of digits in Case [] is greater than Max specified • ####: error: Number of digits in Case [] is less than Min specified • ####: error: Read Table Action must be defined • ####: error: Reprompt action used outside the context of a Call Input Action (*) • ####: error: ‘Reprompt’ & ‘Try Again’ Actions not allowed for ‘No More Tries’ • ####: error: Required Label, HOLIDAY, is missing • ####: error: Required Label, [], is missing • ####: error: Retry action used outside the context of a Call Input Action (*) • ####: error: Return Field for External Function must be type NUM • ####: error: Screen [] not defined • ####: error: Statement type [] not implemented (*) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 704 10 Application Administration Error and Warning Messages • ####: error: TOHOST fields, such as [], can only be used in a “Set Field” of a “SEND HOST SCREEN” Action; They can’t be used as normal fields • ####: error: TT Code is required for this Confirm action • ####: warning: actions can never be reached. • ####: warning: Invalid #line number • ####: warning: Invalid Format [] replaced by [] • ####: warning: missing action for case, treated as Continue • ####: warning: Missing Symbol Table entry for field [] in screen [] • ####: warning: Send Screen should be immediately followed by a Get Screen. • ####: warning: this block of code is misplaced. • ####: warning: Too Many CALL DATA Fields are being saved; last good one is [] • ####: warning: Transaction has not yet been defined • ####: warning: Unrecognized line, []..., in file [] • ####: warning: White space too large - it is ignored. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 705 10 Application Administration Host Screen Definition • ####: error: field [] belongs to undefined screen • ####: error: Invalid or incomplete specification for field [] • ####: error: screen name [], is defined in multiple applications • ####: error: Screen [] not defined • ####: warning: Ambiguous host application name, [] assumed • ####: warning: Unrecognized line, [], in file [] (*). Database Definition • Parameters Standards Definition Error and Warning Messages ####: error: Invalid database table definition • ####: error: Invalid or missing database table definition, table [] must have at least one field. • ####: error: Date [] in HOLIDAY List is invalid • ####: error: Entry [] in GREETINGS List is invalid • ####: error: Field [] in Calldata List is not defined • ####: error: Field [] included in EVENT List is not defined (*) • ####: error: Missing Parameters file • ####: error: Syntax Error in Parameters Definition. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 706 10 Application Administration External Functions Trace Diagnostics Error and Warning Messages • ####: error: Constant must be numeric for argument [n], [argument name] • ####: error: External Function, [function_name], requires at least [n] arguments • ####: error: Invalid or incomplete specification for field [] • ####: error: screen name [] is defined in multiple applications. • 25050 host TSM time out waiting for response from 3270 • 25010 number Attempt to use a field with non-digits as a • 25011 Attempt to speak a date that is not in the correct internal format • 25020 Attempt to speak a time that is not in the correct internal format • 25000 Transfer action — no errors detected • 25001 flash */ Transfer action — failure in attempt to perform Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 707 10 Application Administration Error and Warning Messages • 25002 Transfer action — failure in attempt to perform dial after flash */ • 25040 Invalid characters in “Prompt and Collect” Checklist Case (routine _ttcmp). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 708 11 Using Advanced Features Overview This chapter presents Intuity CONVERSANT system features that are available outside the Script Builder user screen interface, and describes issues that may arise in complex applications involving external functions, intricate host interface situations, an ORACLE database, or multilingual service. Topics covered include: • Using External Functions on page 710 • Writing External Functions on page 736 • Interfacing with Hosts on page 746 • Using ORACLE Tools on page 759 • Mapping Datatypes on page 760 • ASCII Character Set Mapping on page 761 • Creating Multilingual Applications on page 762 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 709 11 Using Advanced Features Using External Functions Using External Functions An external function is a mechanism that allows a script to perform functions or actions that are not directly provided in the high-level action steps of Script Builder, but which can be written in transaction assembler script (TAS) language. You can use any of the predefined external functions provided with the system. You can also write your own external functions using the TAS language. An external function is called from a Script Builder Define Transaction screen (Figure 60 on page 215). Defining External Functions 1 Add an External Function action step and then define it. The system displays the Define External Function screen (Figure 177 on page 711). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 710 11 Using Advanced Features Figure 177. Using External Functions Define External Function Screen 2 Position the cursor on the function name, then press F 2 (Choices) for a listing of available external functions (Figure 178 on page 712). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 711 11 Using Advanced Features Figure 178. Using External Functions External Functions Menu 3 Use the cursor movement keys to select one of these external functions and enter it in the screen. Table 54 on page 713 briefly describes the external functions and indicates where to find more information about them. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 712 11 Using Advanced Features Table 54. Using External Functions External Functions External Function Description Reference Complete Connects a caller to a third party after an answer is detected or ringing occurs in a transfer. Complete on page 725 concat Concatenates two character fields by making a a single field that contains the characters in the first field, followed by the characters in the second field. concat on page 723 datetime_u Converts the date and time to the UnixWare date and time. datetime_u on page 729 getarg Extracts arguments sent by the Execute action. getarg on page 717 getucid Creates the universal call ID (UCID) for a telephone call. get_ucid on page 732 getuui Extracts user-to-user information (UUI) from an incoming call and populates script fields with the results. get_uui on page 733 1 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 713 11 Using Advanced Features Table 54. Using External Functions External Functions External Function Description Reference ixfer Allows a script to place a call, maintain a connection during interaction of parties, then continue with the script when the called person hangs up. ixfer on page 726 length Computes the length of a character field. length on page 723 pack_phrNX Converts a talkfile number and phrase number into a combined NX formatted number. pack_phrNX on page 730 parse Splits a field into two smaller fields. parse on page 725 Reconnect Reconnects a caller after a no answer, a busy, a fast busy, or an error is encountered in a transfer. Reconnect on page 726 set_uui Sets the UUI element for transmission on outbound ISDN-PRI calls. set_uui on page 733 substring Extracts a substring. substring on page 724 2 of 3 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 714 11 Using Advanced Features Table 54. Using External Functions External Functions External Function Description Reference text2fax Converts text files to fax files for faxing with the FAX_Queue action. text2fax on page 734 transfera Implements a flash transfer to a line within a Public Branch Exchange (PBX). transfera on page 727 transferb Note: transferb on page 727 transfera and transferb have different restrictions. u_datetime Converts the internal UnixWare system date and time to external date and time. u_datetime on page 728 unpack_phrNX Separates a previously combined NXformatted number into a talkfile number. unpack_phrNX on page 730 3 of 3 As many as five fields can be specified to pass values from the Transaction to the function, plus an optional sixth field to receive a value from the function. You should specify only num field types for fields that process numbers, that is, specify num fields or numerical constants for those fields that are of type num. You must define and call the external function in exactly the manner specified by its design. Fields and constants can be used as arguments to external functions. Use double quotes when specifying a character constant. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 715 11 Using Advanced Features Using External Functions The first field, Function Name, is for the name of the function to which control is to be transferred. The next five blanks, Argument 1 through Argument 5, allow you to specify each argument with a field or constant value to be passed to the function for processing. The last field, Return Code Is In Field, allows you to specify an optional return code field that receives a value back from the function. Help For External Functions Script Builder provides a way for you to obtain additional information regarding any available external function. To do this while in the Define External Function screen, enter the name of an external function. Once complete, press F 1 (Help). A two-item menu displays for help on the specified external function. Select Function Specific for detailed information on the chosen external function. Choose General Help for an overview on external functions. As many as five arguments may be passed from the Transaction to the function, and one numeric value may be returned. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 716 11 Using Advanced Features Using External Functions Extracting Arguments from the Execute Action The getarg external function allows you to bypass the use of getarg in writing your own external function. However, it assumes a working knowledge of the transaction assembler script (TAS) language. getarg The getarg external function can be invoked to extract arguments sent by the Execute Action to another application. The getarg external function extracts one argument per call by specifying the argument index (1–10) and then copies the argument into the destination field and then null terminates the string. The getarg external function copies only up to the maximum specified number of characters. If the argument is longer than the specified number of characters, only up to the specified number of characters are copied (for example, if the argument is “hello” and the number of characters specified to getarg is 2, only the “h” and “e” will be copied by the application). • Argument 1: (required) specifies the index (1–10) of the argument to be extracted from the previous application. A valid entry for this field is a field name from 1 to 24 characters that specifies the argument to be extracted. • Argument 2: (required) specifies the destination or the field in which the argument will be stored. • Argument 3: (required) specifies the maximum number of characters to copy into the destination field. The string copied will be truncated if necessary to fit within the specified maximum number of bytes. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 717 11 Using Advanced Features • Using External Functions Return Code Is In Field: (optional) field name entry limited to a maximum of 24 characters. If the getarg external function is successful, getarg will return the length (in characters) copied into the destination field. If the getarg external function is unsuccessful, one of the following values will be returned back to the application: ~ -2: Argument to extract exceeds the actual number of arguments passed ~ -3: Application has not been executed, if at all, through the Execute Action ~ -4: Invalid argument passed into getarg (for example, the number of characters specified is zero or negative or the index to the argument is negative, zero, or greater than 10). Figure 179 on page 719 shows the Define External Function with field information displayed for the getarg function. getarg Code Fragment After you have defined getarg, you may press the Show function key to expand the External Function getarg as shown in Figure 179 on page 719. Note that the following code fragment is an example based on the field information in Figure 177 on page 711. The code shown below consists of a loop that starts with argument 1 and iteratively extracts the arguments up to argument 10. Not shown in the code is the part where each argument is processed in turn before going to the next argument. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 718 11 Using Advanced Features Figure 179. Using External Functions getarg Code Fragment start: 1. Set Field Value Field: cur_arg_idx = 1 Field: nobytes = 50 Get_Next_Arg: 2. Evaluate If cur_arg_idx > 10 Goto done 3. End Evaluate 4. External Function Function Name: getarg Use Arguments: cur_arg_idx arg nobytes Return Field: nobytes_copied 5. Evaluate If nobytes_copied < 0 6. Goto done End Evaluate 7. Set Field Value Field: cur_arg_idx = cur_arg_idx + 1 8. Goto Get_Next_Arg done: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 719 11 Using Advanced Features Execute Action Arguments Using External Functions If getarg does not suit your needs, you might want to create your own external function to extract arguments. The following describes the layout of the arguments passed through the Execute action so you can extract them with your own external action. The Execute action partitions a 552-byte storage area into three chapters. The first chapter includes an integer the value of which is the number of arguments passed (0-10). The next chapter consists of the offsets, or the distance in bytes from the start of the 552-byte storage area to the first bytes of the string arguments. The third chapter consists of the actual string arguments as pointed to in the offset chapter. Figure 180 on page 721, Figure 181 on page 721, and Figure 182 on page 722 provide examples of how arguments are arranged. Note in these figures that the size of the offset chapter varies depending on the number of arguments. Note also that the entire 552-character block is allocated even though only a subset of it is used. Figure 180 on page 721 shows that specifying zero (0) arguments results in 0 arguments and 0 offsets. Figure 181 on page 721 shows that specifying one (1) argument results in 1 argument and 1 offset. Figure 182 on page 722 shows that specifying 3 arguments results in 3 arguments and 3 offsets. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 720 11 Using Advanced Features Figure 180. Using External Functions Execute (0 Arguments) 0 Allocated but unused Zero Arguments Figure 181. Execute (1 Argument) 1 Offset #1 String #1 Allocated but unused One Argument Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 721 11 Using Advanced Features Figure 182. Using External Functions Execute (3 Arguments) Add Screen(s) ID NUMBER: Snapshot 10 10 of 14 LAST NAME: Char Field Manipulation Functions Earlier versions of Script Builder designated these predefined functions with a dollar sign ($). Note that these functions with the dollar sign names are still available, so previously written applications may still function properly. However, the names currently shown are the preferred references. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 722 11 Using Advanced Features length concat Using External Functions The length external function counts the number of characters in a field. • Argument 1: field containing a character string • Return Code Is in Field: numeric field containing a value equal to the number of characters in the string. The concat external function concatenates two character fields, that is, make a single field containing the characters in the first field, followed by the characters in the second field. • Argument 1: (destination) name of the char field that will contain the value of the new character string. • Argument 2: (source1) name of first char field to be concatenated. • Argument 3: (source2) name of second char field to be concatenated. Note: Remember to use double quotes if you are specifying a character string as a char constant in argument 2 or argument 3. • Argument 4: maximum size of argument 1. If the value is 0, then no check for maximum length is done. Otherwise, if the result has more characters than the maximum allowed, the extra characters are not included in the field. • Return Code Is In Field: numeric field containing a value equal to the number of characters in the resulting new character string (argument 1). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 723 11 Using Advanced Features Using External Functions The size of argument 1 should be big enough to hold the maximum number of characters specified by argument 4. The function permits argument 4 to be as large as 255. You can specify the same field for argument 2 and argument 1, but you must specify a different field for argument 3. substring The substring external function extracts a substring. Returns the substring, result (Argument 1), from the argument source (Argument 2), beginning with the character number contained in the start (Argument 3 – counting from left to right, or from right to left if Argument 3 is a negative number) of the maximum size specified (Argument 4). If the source is shorter than the start position, an empty (null) string results. For example, starting at position 6 on a string that contains only 4 characters. • • Argument 1: (result) name of the field that will get the substring. Argument 2: (source) name of the string where the substring is extracted. • Argument 3: (start) position of the first character to be copied from argument 2. • Argument 4: (maximum) maximum allowable size of the result string (specify zero if no check is desired). • Return Code Is In Field: length of the result string. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 724 11 Using Advanced Features parse Using External Functions (previously $strtok) The parse external function splits a char field into two smaller fields. • Argument 1: (destination) name of the char field whose value will be the first portion of the split string. • Argument 2: (source) name of the original char field, and the field that will hold the second portion of the split string. • Argument 3: (separator) a char field or string containing the character(s) that match the location in argument 2 where the string is to be split. All the characters in argument 2, up to the first character that matches any character in argument 3, will be moved to argument 1. The separator character(s) of argument 2 that match the characters in argument 3 will be dropped, and any remaining characters will become the value of argument 2. Example: If argument 2 contains “Wilmington, Ohio.”, and argument 3 is “,”, then argument 1 is set to “Wilmington” and argument 2 is set to “Ohio.” Intelligent Transfer Call Functions These functions can be used with an intelligent Transfer Call action. Complete The Complete external function is used to connect the caller to an attendant when a Transfer Call action results in an Answer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 725 11 Using Advanced Features Using External Functions No arguments are required. The field $TRANSFER_RESULT is used in an Evaluate action prior to the Transfer Call action. Reconnect The Reconnect external function is used only when a Transfer Call action results in a Busy, No Answer, or Error. No arguments are required. The field $TRANSFER_RESULT is used in an Evaluate action prior to the Transfer Call action. ixfer The ixfer external function allows a script to place an outbound call to a userdefined telephone number, maintain the connection while the caller interacts with the person on the other channel, then, when the called person hangs up, continue with the next action step. This feature is used most often to connect a caller with an attendant. It is not recommended that you use this feature to connect to another script since touch-tones are not passed reliably. Note: • The TDM cable must be connected for an internal call transfer to complete properly. The cable is connected when your system arrives. If it has been disconnected, make sure it is reconnected before you attempt an internal call transfer. Argument 1: (required) telephone number to which you want the script to transfer the call. A telephone number can have up to 15 digits. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 726 11 Using Advanced Features Using External Functions Note that num is the only valid entry for Field Type. You must therefore enter num in this field or press F2 (Choices) and select num from a menu. Transfer Call Functions These call transfer functions should only be used if the built-in transfer action is not working with your telephone interface. transfera The transfera external function initiates a normal Transfer Call with second flash. • Argument 1: char field containing the digit string to be dialed. This sets up a three-way call. The system stays on the line until a Disconnect or Quit action step is executed. transferb The transferb external function initiates an intelligent Transfer Call. • Argument 1: char field containing the digit string to be dialed. Busy, Reorder, or hardware failure all cause a second flash to reconnect the caller to the system. This is necessary because some PBXs do not drop the call if the called party hangs up after the failed transfer. Instead, it starts ringing again, treating the original caller as a new call. On successful transfer, the routine hangs up immediately; however, the Transaction continues to execute until a Quit action step is encountered. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 727 11 Using Advanced Features Using External Functions The system field TRANSFER_STATUS of type char will be set to contain the transfer result status as follows: • “T” – timeout (success, assumption is that answer occurred before ringing) • “R” – ring (success) • “F” – re-order (failure) • “B” – busy (failure) • Other – (hardware failure) Time and Date Functions This section includes information about predefined time and date functions. u_datetime The u_datetime external function converts internal UnixWare system clock date and time to date and time fields. • Argument 1: date; field where date is returned in standard Script Builder format YYMD (4-digit year, 2-digit month, 2-digit day). See Supported Dates on page 729 for more information. • Argument 2: time; field where time is returned in standard format HMS (2-digit hour, 2-digit minute, 2-digit second). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 728 11 Using Advanced Features datetime_u Using External Functions • Argument 3: clock; input UnixWare system time, in seconds, since Jan. 1, 1970 00:00:00 CUT (Coordinated Universal Time). The $UNIX_TIME system field can be used for the current clock time. • Return Code Is In Field: numeric field containing Julian day (1–366) The datetime_u external function converts Script Builder date and time fields to UnixWare system time. • Argument 1: date in normal Script Builder internal format YYMD (4-digit year, 2-digit month, 2-digit day). See Supported Dates on page 729 for more information. Supported Dates • Argument 2: time in regular Script Builder format HMS (2-digit hour, 2digit minute, 2-digit second). • Return Code Is In Field: numeric field containing system clock format, number of seconds since Jan. 1, 1970 00:00:00 CUT (Coordinated Universal Time). If date or time is out of range, return code is -1. For the datetime_u and the u_datetime external functions, argument1: accepts a year up to 2038. The dates supported by the UNIX operating system are: • Earliest date supported by UNIX — January 1, 00:00:00 1970 (GMT) • Last date supported by UINIX — January 19 03:14:07 2038 (GMT) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 729 11 Using Advanced Features Using External Functions This means that you can set the operating system data to any day in the given range and expect to see accurate results regarding day and time. Talkfile and Phrase Manipulation Functions This section includes talkfile and phrase manipulation functions. pack_phrNX The pack_phrNX external function converts a talkfile number and phrase number into a combined NX formatted number. This function requires a talkfile number and a phrase number and returns a combined talkfile and phrase number in the NX format (see unpack_phrNX on page 730). unpack_phrNX • Argument 1: (required) talkfile number between 1 and 255 or a field name from 1 to 24 characters that holds the talkfile number. • Argument 2: (required) phrase number between 1 and 65535 or a field name from 1 to 24 characters that holds the phrase number. • Return Code Is In Field: field name from 1 to 24 characters that holds the output of pack_phrNX, that is, the combined talkfile and phrase number in the NX format. If an invalid talkfile number is detected, the return code is -1. If an invalid phrase number is detected, the return code is -2. The unpack_phrNX external function requires an NX formatted number as the input argument and returns the talkfile number and the phrase number. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 730 11 Using Advanced Features Using External Functions This function separates a previously combined NX-formatted number into a talkfile number and a phrase number (see pack_phrNX on page 730). ! CAUTION: Specify only num field types for those fields of the unpack_phrNX external function that return numbers, that is, specify num fields or constants for those fields that are of type num. Talkfile and Phrase Manipulation: Tips • Argument 1: (required) combined talkfile and phrase number in the NX format or field name. Valid entries for this field are an NX-formatted number between 65537 and 16777215 or a field name from 1 to 24 characters that holds the NX-formatted number. • Argument 2: (required) contains the return code of the phrase number. A valid entry for this field is a field name from 1 to 24 characters that specifies the phrase number. • Return Code Is In Field: field name from 1 to 24 characters that holds the output of unpack_phrNX, that is, the talkfile number that has been separated. If an invalid combined talkfile and phrase number is detected, the return code is -1. In general, once a speech phrase has been digitized and encoded, it is stored internally in a talkfile. See Chapter 1, “Overview of Speech,” in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201, for further information on storing phrases in Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 731 11 Using Advanced Features Using External Functions talkfiles. Each talkfile contains a collection of phrases, with the individual phrases within that talkfile represented by a unique phrase number. The talkfile number and a phrase number are normally packed into a single long integer. The combined talkfile/phrase number is returned to the Script Builder application by the Message Coding action and can be used to play the phrase with the NX format. See Chapter 7, Defining the Transaction, for more information on the Message Coding action. A talkfile is normally assigned to an application by Script Builder and corresponds to either a primary or a secondary speech pool. If the talkfile number is 0, the talkfile that is used is the “current” one. The current talkfile is the talkfile associated with the primary speech pool unless you have used a setalk instruction to change this talkfile. See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for information about the setalk instruction. See Chapter 2, User Interface, for more information on the NX format. UCID Functions This section includes information about UCID functions. get_ucid The get_ucid external function returns the UCID for a telephone call to the script. • Argument 1: ucid, character field of 20. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 732 11 Using Advanced Features • Using External Functions Return Code Is In Field: numeric field where 0 indicates success and -1 indicates failure. get_uui set_uui The get_uui external function extracts the UUI element from an incoming call and populates the Script Builder fields with the result. • Argument 1: format; numeric field where 0 means extract UUI in network format, and 1 means extract UUI and UCID in DEFINITY shared format. • Argument 2: uui; character field up to 132 bytes long (length depends on application usage). • Argument 3: ucid; character field of 20. • Return Code Is In Field: numeric field where 0 means successful extraction of parameters and <0 indicates failure. The set_uui external function allows a Script Builder application to set UUI for an outbound call. The outbound call may be on the channel running the script or on another channel performing call bridging. • Argument 1: format; numeric field where 0 means write UUI in service provider, ignoring the UCID, and 1 means write UUI and UCID in DEFINITY shared format. • Argument 2: uui; character field up to 132 bytes long (length depends on application usage). • Argument 3: ucid; character field of 20. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 733 11 Using Advanced Features • Using External Functions Return Code Is In Field: numeric field where 0 means successful extraction of parameters and <0 indicates failure. Fax Functions text2fax This function converts text files to fax files in TIFF format that can be queued for faxing using the FAX_Queue external action (see FAX_Queue on page 451 ). This function can convert text files that contain 66 lines per page and either of the following widths: • 80 characters per line • 120 characters per line Argument 1: (input file) fully qualified pathname of the text file to be converted Argument 2: (output file) fully qualified pathname of the fax file Argument 3: (format) "80char" or "120char" Return Code Is In Field: character field that contains a value of 0 to indicate a successful conversion, or a value of 1 to indicate conversion failure. Possible reasons for failure include: • Input file does not exist or is unreadable. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 734 11 Using Advanced Features • Using External Functions Output file directory does not exist or is not writable. If the text width option is invalid or not provided, the system performs the conversion using the standard text conversion parameters and returns a value of 0. Example The following example shows use of the text2fax external function to convert the file /textfile to a TIFF file suitable for faxing. The converted output, called /faxfile, is formatted with 80 characters per line. 1. Answer Phone 2. Announce Speak With Interrupt Text: "This is a test of text2fax." 3. External Function Function Name: text2fax Use Arguments: /textfile /faxfile "80char" Return Field: ret 3. External Action: FAX_Queue FAX_File_1: "faxfile" Return Field: ret End External Action 4. External Action: FAX_Send FAX_Delivery_Number: "9,15555551212" FAX_Delivery_Time: "immediate" FAX_Retry_Interval: "20" FAX_Retry_count: "2" TSI_String: "Intuity CONVERSANT": Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 735 11 Using Advanced Features Writing External Functions Equip_Group: "3" Equip_Group: "3" Return Field: ret End External Action 5. Quit Writing External Functions If you choose to write your own external functions in the transaction assembler script (TAS) language, the following conventions allow them to be automatically included in your Script Builder application when you call them from an External Function action step. An example of an external function is provided at the end of this section. Note: See the Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for details of the TAS language. Naming Conventions Assuming the name used in the External Function Call is fname and the application is called appname, the function should be placed in a file, fname.t, in the application directory, /att/trans/sb/appname. External functions placed in this directory are considered to be part of the application and are backed up and restored as part of the application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 736 11 Using Advanced Features Writing External Functions Since the main script file is called appname.t, you cannot have an external function with the same name. The fname.t file should have a label called L_ _fname, which is where the function begins execution when called from Script Builder. Labels used in external functions must not conflict with labels used in other functions or in the application. To avoid conflicts, all labels should start with the same L_ _fname label designated as the entry point. External functions can also be placed in the Script Builder library. Once in this library, these external functions are available to any application on the system. The library is a directory, /vs/bin/ag/lib, of .t files, one per function. Avoid changing other files in the directory, because many of them are used directly by the system and altering them causes the system to fail. Also, avoid overwriting any files or using names that are used by other functions. File names that begin with an underscore (_) are either earlier versions or routines that are used internally by the system. External functions located in the library are not backed up with the application. Therefore, they should be backed up separately, using the cpio UnixWare operating system command. External functions that you write use similar naming conventions as Script Builder field names: • The external function name must be from 1 to 12 characters long. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 737 11 Using Advanced Features Writing External Functions • Legal characters are letters (A–Z and a–z), numbers (0–9), and underscore (_). • The first character must be a letter. Macros Several macros available within an external function enforce calling conventions and provide useful error messages when these conventions are violated. The following information describes these macros. DEFARG(fldname, datatype,direction) The DEFARG macro defines the next argument to the function. One should appear for each argument used by the function. • fldname is a symbolic name used to refer to the argument in documentation and error messages. It follows normal Script Builder conventions for a name, a maximum of 24 characters consisting of alphanumeric or the underscore. • datatype is one of the four defined Script Builder datatypes: num, char, date, or time. A special datatype, phrase, is allowed only in the DEFARG macro. The num datatype is stored as a long integer, while the char, date, and time datatypes are stored as strings. The phrase datatype is defined only for passing arguments to an External Function action step and is converted to a phrase number. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 738 11 Using Advanced Features • Writing External Functions direction is the direction in which data is passed: in, out, or both. Specify in if the data will be used, but not modified by the external function. In this case, the application may pass numeric or string constants to the function. Otherwise, Script Builder generates an error message if the transaction definition attempts to use a constant for an argument. Specify out if the field is used to return data to the calling application. Specify both if the field is used and possibly modified by the function. In these cases, the external function must know how big the field is and ensure it does not overrun the field. This can be done by defining a numeric argument that specifies maximum size, or by documenting any assumed restrictions on the field that the caller is expected to meet. Directions out and both are allowed for num, char, date, and time, but are not allowed for phrase. Script Builder provides automatic type conversion if the data passed by a Script Builder application is different than that specified in the DEFARG macro. DEFARG_COUNT(n) This macro specifies the number of arguments used by the function. The number can be from 0 through 5. This macro is optional. Arguments A maximum of five arguments are available to the external function, and are passed to it as shown in Table 55 on page 740. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 739 11 Using Advanced Features Writing External Functions For char, time, and date fields, the address of the field is passed as an integer. For numeric arguments, the value is passed as an integer if the direction is input, but the address of the field is passed if the direction is output or both. Argument 1 is in register 3 (r.3), argument 2 in register 2 (r.2), and argument 3 to 5 are in the fields, F_ _FUNCT_ARG3, F_ _FUNCT_ARG4, and F_ _FUNCT_ARG5, respectively. For phrase arguments, either a phrase tag or a phrase number may be passed to the external function. In either case, the phrase datatype is treated as an integer and can be played using the talk script instruction or other instructions that allow an integer. Table 55. External Function Arguments Direction Datatype Argument Input only num Integer value Input only char Address of string Input only date Address of string Input only time Address of string Input only phrase Phrase, tag, or integer value Output or both num Address of integer 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 740 11 Using Advanced Features Table 55. Writing External Functions External Function Arguments Direction Datatype Argument Output or both char Address of string Output or both date Address of string Output or both time Address of string 2 of 2 Return Code A function may return an integer of num value to the caller by placing it in r.0 before returning. This is copied to the num field specified on the External Function screen of the Transaction Definition. If a field is not specified for the Return Code, it will be lost. If you need to copy information, other than the Return Code, into your application, you must use variables known to the application. You must name a variable inside of the external function according to the following naming convention: F_variablename. For example: • load (int.F_variablename, im.4) copies the digit “4” into the variablename. • strcpy (ch.F_variablename, “abc”) copies the string “abc” into the variablename. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 741 11 Using Advanced Features Writing External Functions Allocating Space A function can use the 256 bytes of memory at address F_ _TEMP as temporary scratch space in any manner it chooses. However, the memory is not saved between calls of the function. Symbols F_ _TEMP2, F_ _TEMP4, F_ _TEMP6, F_ _TEMP8, F_ _TEMP12, and F_ _TEMP32 are defined to be offsets into the initial part of the buffer. A function may also allocate memory for its exclusive use by using the macro: DEFSPACE(fldname, bytes) This should appear on a line by itself in the file, and causes Script Builder to create a symbol, “F_fldname” and provide the amount of space requested for it. If the size is a multiple of 4, the space will start on a 4-byte boundary. The space can be referenced within the subroutine as “F_fldname” and it can also be accessed as a field in the Script Builder Transaction Definition, by calling it fldname. However, the transaction must define fldname consistently with it. Note: Script Builder automatically allocates one byte more than the number requested by the DEFSPACE macro. If the space is to be used to store a string, the additional byte is used for a NULL terminator. If the space is to be used to store an integer, you may conserve space by requesting one less byte of storage. This will also ensure that the address will always fall on an even address boundary. If you do not request one less byte of storage than that needed to store an integer and it does not begin with an even Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 742 11 Using Advanced Features Writing External Functions address boundary, you will receive an addressing warning message. This warning can be ignored since the system processor handles integers not starting on an even address boundary. Since all symbols are global in TAS, the name chosen for space allocation should not conflict with other names used in the Transaction Definition. Note: The installed script (TAS based) does not recognize the DEFSPACE macro. In situations where an external function attempts to execute another external function which uses the DEFSPACE macro, the process will fail. It is therefore recommended that memory allocation for the external function to be executed be part of the script that is verified and installed before use. Providing Function-Specific Help The .t file should contain a description of the external function, its arguments, return code, and usage in a block comment at the beginning of the file. Script Builder picks up this description and provides it in a Function Specific help screen when F1 (Help) is pressed during the definition of the call. The description must exist in the first comment in the file, and must start with the word “FUNCTION” in order to be recognized. It may have asterisks (*) and spaces along the left margin. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 743 11 Using Advanced Features Writing External Functions Use Figure 183 on page 744 as a guideline for setting up the comment. Figure 183. Example of Comments for External Functions /* * FUNCTION: parse - break a field into smaller fields * This function breaks a field into two smaller subfields; the * source field is considered to consist of two subfields separated * by one or more separator characters. The first subfield is then * copied to destination; the separators are skipped up to the first * non-separator, and the remaining characters are move up to the * start of the source field. (That is, the source field is changed * by this function.) * NOTE: a sequence of separator characters will be skipped over * as a unit, rather than each occurrence denoting a null token. * This is similar to the C library strtok function.) * * INPUT: * destination: field where first subfield is placed. * source: original field to be broken up. * separators: field containing separator characters. * RETURN CODE: number of characters copied in destination field. * EXAMPLE: Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 744 11 Using Advanced Features Writing External Functions * If source contains "Wilmington, Ohio" and separators * are ", .", then "Wilmington" will be placed in the destination, * "Ohio" will be left in source, and the return code will contain * the number 10. */ DEFARG_COUNT(3) DEFARG(destination,char,out) DEFARG(source,char,both) DEFARG(separators,char,in) L_ _parse: load(r.0, r.2) L_ _parse1: load(r.1, int.F_ _FUNCT_ARG3) L_ _parse2: jmp (*ch.0 == *ch.1, L_ _parse4) /* match */ incr(r.1, im.1) jmp (*ch.1 != im.0, L_ _parse2) incr(r.0, im.1) jmp (*ch.0 != im.0, L_ _parse1) /* end of src string, return it as dst1, null as dst2. */ strcpy(*ch.3, *ch.2) L_ _parse3: load(*ch.2, im.0) strlen(*ch.3) rts () L_ _parse4: /* copy substrings to out area. */ load(*ch.0, im.0)/* null terminate 1st dst string. */ Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 745 11 Using Advanced Features Interfacing with Hosts strcpy(*ch.3, *ch.2) /* skip over separator characters. */ L_ _parse5: incr(r.0, im.1) load(r.1, int.F_ _FUNCT_ARG3) L_ _parse6: jmp (*ch.0 == *ch.1, L_ _parse5) /* separator. */ incr(r.1, im.1) jmp (*ch.1 != im.0, L_ _parse6) /* at end of separators. */ jmp (*ch.0 == im.0, L_ _parse3) /* separators end the string*/ L_ _parse7: /* copy remaining string to dst2. */ strcpy(*ch.2, *ch.0) /* look out for overlapping copy,OK on 6386*/ strlen(*ch.3) rts () Interfacing with Hosts Identifying Similar Host Screens The purpose of host screen identifiers is to enable the Intuity CONVERSANT system to uniquely identify a screen that arrives from the host computer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 746 11 Using Advanced Features Interfacing with Hosts However, there are two reasons why it may be desirable to define two (or more) screens with non-unique IDs: • The two screens can be used interchangeably. • The two screens cannot be used interchangeably, but are never used in the same part of the application. Interchangeable Host Screens This case occurs when two slightly different screens are used in slightly different situations, but one of the screens and can be used in both situations. The sample River Bank application, described in Appendix A, Sample Application, includes an example of this case. The Host Screen send_id is used to send caller’s account number (Figure 184 on page 749) to the host computer when an operator or the Intuity CONVERSANT system first logs in to the host application. If a valid account number is sent, the host computer returns the user_acct screen containing the same information as the previous screen, plus the caller’s account balance information as shown in Figure 185 on page 750. When the operator or the system takes the next call, the account screen from the previous call can be used to send the next account number to the host computer, which returns the same screen, but with balance information for the new account. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 747 11 Using Advanced Features Interfacing with Hosts Because the account field is the only field used to send data to the host, the second screen can be used in place of the first screen, wherever it is needed. With this approach, the first screen does not even have to be defined. An alternate approach would be to define both screens, even with ambiguous identifiers, and simply ignore Script Builder’s warnings about the ambiguity. Note: It so happens that either screen in the previous example could be used as the Transaction base screen. If both screens are defined and used in the application, both could be defined as transaction base screens. Script Builder permits an application to have multiple Login Base and/or transaction base screens, but make sure the application operates correctly regardless of the particular login base (or transaction base) that arrives when one is expected. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 748 11 Using Advanced Features Figure 184. Interfacing with Hosts Host Screen send_id Used to Send Caller’s Account Number Add Screen(s) ID NUMBER: CLEAR - EXIT Snapshot 10 10 of 14 LAST NAME: PF3 - MENU Cycle through the snapshots, name and remove snapshots as needed REMOVE PREVIOUS NEXT NAME Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 CHG-KEYS Issue 2 January 2000 749 11 Using Advanced Features Figure 185. Interfacing with Hosts Host Screen user_acct Used to Send Caller’s Account Number Define Screen (transaction base) ID NUMBER: 00001 SOC SEC NO DATE OF BIRTH CITY OF BIRTH CLEAR - EXIT River_Bank LAST NAME: JONES FIRST NAME: PATRICK : 123-45-6789 : 26/11/48 : COLUMBUS PF3 - MENU JULY 19, 1991 16:33 CHECKING BALANCE: SAVINGS BALANCE : $2,010.27 $7,354.63 PF4 - TABLE Press the function key of the item you would like to define. IDENT FIELDS Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 CHG-KEYS Issue 2 January 2000 750 11 Using Advanced Features Interfacing with Hosts Noninterchangeable Host Screens This case occurs when two similar screens are used for different purposes, in the Transaction and/or in Host Session Maintenance, and neither screen can be used in place of the other. If the screens are defined with ambiguous identifiers, no harm will be done provided that: • The two screens never appear in the same Get Host Screen action step. • It is never possible for one screen to arrive from the host when the other is expected. ! CAUTION: Results will be unpredictable if either of the previous conditions is violated. Locating External Host Fields Management of most aspects of the host computer interface is done via the host DIP (data interface process), as shown in Figure 186 on page 752. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 751 11 Using Advanced Features Figure 186. Interfacing with Hosts Script Builder Software Architecture Script Builder "define" Application user interface formats Application internal (intermediate) formats Application TSM Scripts (ASCII) Application host DIP script (ASCII) Script Builder "install" (tas) Application compiled script TSM Host DIP "vi" /att/ag/hostdip/extract.c Script Builder "make" /att/ag/hostdip/extract Helper DIP Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 752 11 Using Advanced Features Interfacing with Hosts Chapter 4, Defining the Host Interface, describes the case of host fields that must be external to Script Builder’s user interface, because they do not appear in a fixed location in the host screen. When the running application encounters such a field, it invokes a “helper DIP” where it assumes it will find the instructions necessary to locate the field. You must provide those instructions. The first step is to write the instructions in the “C” programming language. The file /att/ag/hostdip/helper/extract.c already contains the basic structure required to pass the instructions to the running application. What is needed are the instructions themselves. You can provide instructions to locate as many fields as necessary. new_screen and extract Routines Two extract.c subroutines are delivered with Script Builder. When a screen that uses external fields is received from the host, the new_screen routine (Figure 187 on page 754) is called. Then the extract routine Figure 188 on page 755) is called for every external field defined in that screen. In new_screen you might want to check what screen it is and set up some global data structures. In the extract routine, you check what screen this is, what field you are being asked to extract, then extract the field from the screen and put it into the variable field. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 753 11 Using Advanced Features Interfacing with Hosts The screen image (24 rows by 80 columns) is actually stored in a one dimensional array of 1920 characters. The macro RCTOINDEX may be used to map row and column numbers to an index for the screen array. An example use of the RCTOINDEX within the extract.c routine is: Strncpy(field, &screen [RCTOINDEX(10,16)], 3); The following is the syntax for the macro RCTOINDEX: #define RCTOINDEX(r,c) ((r-1) * 80 + (c-1)) Where, r is the row number (where the first row is 1) and c is the column number (where the first column is 1). The extract routine is called for every external field you have defined in every application. If you have defined more than one external field within your applications, you should check the parameters to the extract routine to see the field you should extract. The appl_name, screen_name, and fld_name parameters correspond to the names you defined within Script Builder. The field you provide in the extract routine should not be larger than the size you specified within Script Builder. Figure 187. new_screen Routine new_screen(screen,appl_name,screen_name,lu_id) char *screen;/* screen image--1920 bytes */ char *appl_name; /*name of application assigned in AG Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 754 11 Using Advanced Features Interfacing with Hosts */ char *screen_name;/* name of screen assigned in AG */ short lu_id;/* unique lu identifier */ { /* INSERT CUSTOMIZED CODE HERE */ } Figure 188. extract Routine extract(screen,appl_name,screen_name,fld_name,field) char */ char */ char */ char */ char */ { *screen;/* screen image--array of 1920 bytes *appl_name: /*name of application assigned in AG *screen_name;/* name of screen assigned in AG *fld_name;/* name of field assigned in AG *field;/* to be filled in with field value /* INSERT CUSTOMIZED CODE HERE */ } Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 755 11 Using Advanced Features Interfacing with Hosts fancy_print Routine The fancy_print routine (Figure 189 on page 756) is used to print information from the screen through trace. Nulls and attributes from the screen are replaced with blanks and exclamation marks (!), respectively, for readability. After 78 characters db_pr inserts newlines, so if you try to print more than 78 characters per line, the line will be split. One use of this routine would be to print the screen to help find a bug. Figure 189. fancy_print Routine for (i=0; i<24; i++) { fancy_print (&screen[i*80],77); } */ fancy_print (str, n) unsigned char *str;/* string to be printed */ int n; /* length of string to be printed */ { char line [100]; int i; for (i=0; i 3f ? 40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G 1 of 2 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 761 11 Using Advanced Features Table 57. Creating Multilingual Applications Hexadecimal ASCII Character Set Mapping 48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O 50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W 58 X 59 Y 5a Z 5b [ 5c 5d ] 5e ^ 5f _ 60 ‘ 61 a 62 b 63 c 64 d 65 e 66 f 67 g 68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o 70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w 78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f del 2 of 2 Creating Multilingual Applications Script Builder allows you to use one language in each application. However, one application can call another application to provide multilingual service to your callers. To do this, you need to create a small language identification application that prompts callers to identify the language they would like to use. The language identification prompts can play back recorded speech in multiple languages and accepts either touch-tone, dial pulse, or specified spoken input from the caller. The Execute action step is used to start up the application for the requested language. See Defining Execute on page 351 in Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 762 11 Using Advanced Features Creating Multilingual Applications Chapter 7, Defining the Transaction, for more information about the Execute action step. One installed version of the application should exist for each language. To create a multiple-language application while keeping a single application source, perform the following procedure: 1 Develop and test your application in US English. 2 Copy the application. 3 Change the language specified in the Speech Format Language field of the Shared Speech Pools screen to the alternative language. 4 Review the speech formats used in the Announce and Prompt & Collect action steps and make changes where necessary. 5 Change the Speech Pools name to the name of the recorded speech for the alternative language. 6 Record the speech in the Primary and Secondary Speech Pools by using the same phrase tags as used to refer to the alternative language recording of the speech. Custom speech for the application is identified by the same phrase tags that are used in the original application language. Enhanced Basic Speech is identified by the phrase tags that correspond to the speech fragments required for the alternative language implementation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 763 11 Using Advanced Features Creating Multilingual Applications 7 Record the corresponding phrases in the appropriate language. You can also use the prerecorded Enhanced Basic Speech provided with the language by importing the speech from the Enhanced Basic Speech pool or by using the name of the prerecorded Enhanced Basic Speech as the primary speech pool. 8 Verify and install the application. Note: Some spoken language formats are valid in one language but not in another. An error message appears when verifying your application if a format is not applicable. For best results, use formats in your Announce and Prompt & Collect action steps that are common to the languages you use (for example, “N,” “D,” “T,” etc). Language-Specific Structure Situations may exist in which a language structure requires a different order of custom phrases and spoken data. For example, one language may require the announcement format “there are (number) parts remaining,” where the other language may require the language equivalent of “there are parts remaining (number).” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 764 11 Using Advanced Features Creating Multilingual Applications One way of handling this is to make changes to the application to best reflect the differences between the languages. The disadvantage of this approach is that as the application is altered, these changes must be made each time, or two separate versions of the application must be maintained. An alternative approach is to add conditional logic to the application to check the system variable, $LANGUAGE, and do different things for each case. For more information about the $LANGUAGE system variable, see System Fields on page 45 in Chapter 3, Data Management. Differences in Announce formats could be handled by using only formats that are available in all languages (such as the default format “T” for time.) The advantage of this approach is that only one version of the application needs to be kept and maintained. For more information on customizing applications with languages see Appendix B, Developing Language Implementations. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 765 A Sample Application Overview This appendix presents the support files required for the River Bank sample application. With this application, customers of the bank can call in and obtain information regarding their accounts, auto interest rates, and mortgage interest rates. Studying the example provided by the he River Bank sample application gives you a basic understanding of how you can use Script Builder to create your own applications. Topics covered include: • Transaction Outline on page 767 • Host Session Maintenance Outline on page 778 • Standard Phrases on page 781 • Custom Phrases on page 794 • Parameters on page 796 • Host Interface Screen Names and Fields on page 797 • Database Tables and Fields on page 798 • Transaction and System Fields on page 799 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 766 A Sample Application Transaction Outline Transaction Outline Figure 190 on page 767 is the complete transaction definition for the River Bank sample application. You may want to practice with this example before you begin developing your own transaction to get an idea of how a transaction functions. Figure 190. Transaction Outline — River Bank Sample Application start: HOST_UP_HOURS_OUT: 1. Answer Phone 2. Announce Speak With Interrupt Phrase: "sil.500" Phrase: "host up hours out" 3. Quit HOST_DOWN_HOURS_IN: 4. Answer Phone 5. Announce Speak With Interrupt Phrase: "sil.500" Phrase: "host down hours in" 6. Quit HOST_DOWN_HOURS_OUT: 7. Answer Phone 8. Announce Speak With Interrupt Phrase: "sil.500" Phrase: "host down hours out" 9. Quit Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 767 A Sample Application 10. 11. 12. Transaction Outline HOST_UP_HOURS_IN: Answer Phone #Greet caller Announce Speak With Interrupt Phrase: "sil.050" Phrase: "welcome to river bank" Main_Menu: #Play the Main Menu to caller #Can come back here at caller’s request Prompt & Collect Prompt Speak With Interrupt Phrase: "for current rates" Input Max Number Of Digits: 01 Checklist Case: "1" Goto Give_Interest_Rates Case: "2" Goto Give_Acct_Balances Case: "3" Speak With Interrupt Phrase: "you will be xferred to the next attendant" Transfer To 2633 Case: "#" Speak Without Interrupt Phrase: "thank you for calling river bank" Quit Case: "Not On List" Speak With Interrupt Phrase: "i’m sorry, that was an invalid entry" Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 768 A Sample Application 13. 14. Transaction Outline Reprompt Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Speak With Interrupt Phrase: "i’m sorry, i didn’t get all your touch tones" Reprompt Case: "No More Tries" Speak With Interrupt Phrase: "please try again" Quit End Prompt & Collect Quit Give_Interest_Rates: #Get caller’s rate request #__if caller enters *, goto Main_Menu Prompt & Collect Prompt Speak With Interrupt Phrase: "for savings checking mortgage" Input Max Number Of Digits: 01 Checklist Case: "1" Speak With Interrupt Phrase: "the savings acct interest rate is" Continue Case: "2" Speak With Interrupt Phrase: "the checking acct interest rate is" Continue Case: "3" Speak With Interrupt Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 769 A Sample Application 15. 16. 17. Transaction Outline Phrase: "the mortgage interest rate is" Continue Case: "4" Speak With Interrupt Phrase: "the auto loan interest rate is" Continue Case: "*" Goto Main_Menu Case: "Not On List" Speak With Interrupt Phrase: "i’m sorry, that was an invalid entry" Reprompt Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Speak With Interrupt Phrase: "i’m sorry, i didn’t get all your touch tones" Reprompt Case: "No More Tries" Speak With Interrupt Phrase: "please try again" Quit End Prompt & Collect #Read table with caller’s request, get current rate Read Table Table Name: river_db Search From Beginning Field: tt_code = $CI_VALUE #Speak the rate, then let caller request another Announce Speak With Interrupt Field: current_rate As ND2 Phrase: "percent." Goto Give_Interest_Rates Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 770 A Sample Application 18. 19. 20. 21. Transaction Outline Give_Acct_Balances: #Set loop counter, limit attempts to get acct numbr Set Field Value Field: acct_loop_tries = 3 acct_loop: #Get caller’s 5-digit account number Prompt & Collect Prompt Speak With Interrupt Phrase: "please enter id number" Input Min Number Of Digits: 05 Max Number Of Digits: 05 Checklist Case: "Input Ok" Continue Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Speak With Interrupt Phrase: "i’m sorry, i didn’t get all your touch tones" Reprompt Case: "No More Tries" Speak With Interrupt Phrase: "please try again" Quit End Prompt & Collect #Send the given acct num get back user_acct screen Send Host Screen Send Screen Name: user_acct Use Aid Key: ENTERKEY Field: user_id = $CI_VALUE Get Host Screen For Screen Name: user_acct Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 771 A Sample Application 22. 23. 24. 25. Transaction Outline #Field last_four = last 4 digits of Social Sec Num. End Get Host Screen #Get last 4 digits of SSN from caller Prompt & Collect Prompt Speak With Interrupt Phrase: "enter last four digits of ssnum" Input Min Number Of Digits: 04 Max Number Of Digits: 04 Checklist Case: "Input Ok" Continue Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Speak With Interrupt Phrase: "i’m sorry, i didn’t get all your touch tones" Reprompt Case: "No More Tries" Speak With Interrupt Phrase: "please try again" Quit End Prompt & Collect #Compare caller SSN with host field last_four #_if they match, go on to give account balances #_if they don’t match, ask again for acct num & SSN Evaluate If $CI_VALUE != last_four Set Field Value Field: acct_loop_tries = acct_loop_tries - 1 Evaluate If acct_loop_tries > 0 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 772 A Sample Application 26. 27. 28. 29. Transaction Outline Goto acct_loop Else Announce Speak With Interrupt Phrase: "sil.500" Phrase: "id ssnum combination do no match" Phrase: "sil.500" Phrase: "please try again" Quit End Evaluate End Evaluate Speak_Balance_Amount: #Have a valid acct_num & SS# #Get account type request and play its balance. #Repeat as long as caller enters a valid request #If caller enters *, goto Main_Menu Prompt & Collect Prompt Speak With Interrupt Phrase: "for savings or checking balance" Input Max Number Of Digits: 01 Checklist Case: "1" Speak With Interrupt Phrase: "your savings account balance is" Field: savings As N$D2 Goto Speak_Balance_Amount Case: "2" Speak With Interrupt Phrase: "your checking account balance is" Field: checking As N$D2 Goto Speak_Balance_Amount Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 773 A Sample Application 30. 31. 32. Transaction Outline Case: "*" Goto Main_Menu Case: "Not On List" Speak With Interrupt Phrase: "i’m sorry, that was an invalid entry" Reprompt Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Speak With Interrupt Phrase: "i’m sorry, i didn’t get all your touch tones" Reprompt Case: "No More Tries" Speak With Interrupt Phrase: "please try again" Quit End Prompt & Collect #** One section for Holiday processing #** Another section to show new Modify Table action #** #** This section added to show Holiday processing #** Just announce it’s a holiday & say "call again" #** HOLIDAY label required since Holidays are used HOLIDAY: Answer Phone Announce Speak Without Interrupt Phrase: "Holiday, not open, please call back" Quit #** #** This section shows "Modify Table" action #** This allows an authorized user to change the #** rates in the "river_db" table that are quoted Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 774 A Sample Application 33. 34. Transaction Outline #** to callers #** Change_Rate_Table: Prompt & Collect Prompt Speak With Interrupt Phrase: "Authorization code" Input Max Number Of Digits: 16 TT Terminator Code Value: "#" No. Of Tries To Get Input: 02 Checklist Case: "104576" Continue Case: "Not On List" Reprompt Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Reprompt Case: "No More Tries" Quit End Prompt & Collect #** Authorization code matches; let caller proceed Get_Rate_To_Change: #** Get the acct or loan type whose rate to change Prompt & Collect Prompt Speak With Interrupt Phrase: "for savings checking mortgage" Input Caller Input Field: change_request Max Number Of Digits: 01 No. Of Tries To Get Input: 02 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 775 A Sample Application Transaction Outline Checklist Case: "1" Speak With Interrupt Phrase: "the savings acct interest rate is" Continue Case: "2" Speak With Interrupt Phrase: "the checking acct interest rate is" Continue Case: "3" Speak With Interrupt Phrase: "the mortgage interest rate is" Continue Case: "4" Speak With Interrupt Phrase: "the auto loan interest rate is" Continue Case: "*" Goto Main_Menu Case: "Not On List" Speak With Interrupt Phrase: "i’m sorry, that was an invalid entry" Reprompt Case: "Initial Timeout" Reprompt Case: "Too Few Digits" Speak With Interrupt Phrase: "i’m sorry, i didn’t get all your ouch tones" Reprompt Case: "No More Tries" Speak With Interrupt Phrase: "please try again" Quit Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 776 A Sample Application Transaction Outline End Prompt & Collect #** Read Table with rate_request, get current rate 35. Read Table Table Name: river_db Search From Beginning Field: tt_code = change_request #** Speak the rate to the caller 36. Announce Speak With Interrupt Field: current_rate As ND2 Phrase: "percent." #** Get the new rate and modify the table entry 37. Prompt & Collect Prompt Speak With Interrupt Phrase: "Enter the new rate or press * to keep it unchanged" Phrase: "Enter from 1 to 4 digits" Phrase: "If you enter less than 4 digits, end with #" Input Max Number Of Digits: 04 TT Terminator Code Value: "#" No. Of Tries To Get Input: 02 Checklist Case: "nr" Continue Case: "*" Speak Without Interrupt Phrase: "No change" Goto Get_Rate_To_Change Case: "Not On List" Reprompt Case: "Initial Timeout" Reprompt Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 777 A Sample Application 38. 39. 40. 41. 42. Host Session Maintenance Outline Case: "Too Few Digits" Reprompt Case: "No More Tries" Quit End Prompt & Collect Set Field Value Field: new_rate = $CI_VALUE Modify Table Table Name: river_db Operation: Change Field: current_rate = new_rate #** Check to see if modify worked: read the table #** with rate_request, get & speak the new rate Read Table Table Name: river_db Search From Beginning Field: tt_code = change_request Announce Speak Without Interrupt Phrase: "The new rate is" Field: current_rate As ND2 Phrase: "percent." Goto Get_Rate_To_Change Host Session Maintenance Outline Figure 191 on page 779 shows all the host activities that take place in the background of the River Bank sample application. Login, logout, and recovery procedures are listed. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 778 A Sample Application Figure 191. Host Session Maintenance Outline Host Session Maintenance Outline — River Back Sample Application login: 1. Get Host Screen For Screen Name: login_base 2. Send Host Screen Send Screen Name: login_base Use Aid Key: ENTERKEY Field: option = "c" For Screen Name: cics_banner 3. Send Host Screen Send Screen Name: cics_banner Use Aid Key: CLRKEY For Screen Name: blank 4. Send Host Screen Send Screen Name: blank Use Aid Key: ENTERKEY Field: command = "acvm" For Screen Name: main_menu 5. Send Host Screen Send Screen Name: main_menu Use Aid Key: ENTERKEY Field: form_choice = "x" For Screen Name: HOST_TIMEOUT For Screen Name: UNRECOGNIZED_SCREEN 6. Send Host Screen # take appropriate action for these cases # could be to do nothing For Screen Name user_acct # transaction base End Get Host Screen logout: 1. Get Host Screen For Screen Name: user_acct 2. Send Host Screen Send Screen Name: user_acct Use Aid Key: CLRKEY Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 779 A Sample Application Host Session Maintenance Outline For Screen Name: blank 3. Send Host Screen Send Screen Name: blank Use Aid Key: ENTERKEY For Screen Name: HOST_TIMEOUT For Screen Name: UNRECOGNIZED_SCREEN 4. Send Host Screen # table appropriate action For Screen Name: login_base End Get Host Screen recover: 1. Get Host Screen For Screen Name: cics_banner 2. Send Host Screen Send Screen Name: Use Aid Key: CLRKEY For Screen Name: blank 3. Send Host Screen Send Screen Name: blank Use Aid Key: ENTERKEY Field: command = "acvm" For Screen Name: main_menu 4. Send Host Screen Send Screen Name: main_menu Use Aid Key: ENTERKEY Field: form_choice = "exit" #if we timeout, drop out of the Get host #structure and try again For Screen Name: HOST_TIMEOUT #if we don’t recognize the screen, try to clear it For Screen name: UNRECOGNIZED_SCREEN 5. Send Host Screen Send Screen Name: Use Aid Key: CLRKEY #this is the transaction base screen, so we don’t #need to do anything else For Screen Name: user_acct #this is the login base screen, so do nothing Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 780 A Sample Application Standard Phrases #we will jump to the login sequence automatically For Screen Name: login_base End Get Host Screen Standard Phrases Figure 192 on page 782 lists all enhanced basic speech (EBS) phrases, (formerly called standard speech) used in the River Bank sample application. Note: Script Builder does not support speaking numbers in the billions and trillions if they are defined as an integer variables. However, the phrases “billion" and “trillion" are included in the Enhanced Basic Speech package. If your script requires speaking such large numbers, you can write an external function to accept a large number in the form of an ASCII string, parse the string (getting the amounts of billions and trillions as substrings), convert the three resulting substrings to integer values, then speak them with the tnum instruction inserting a talk instruction with the phrases for “billion" or “trillion" where appropriate. See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for information on the tnum and talk script instructions. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 781 A Sample Application Standard Phrases For some enhanced basic speech (EBS) languages, the number and currency formats also accept inputs as characters and can handle values up to 15 digits (999,999,999,999) that can be preceded by a minus sign (-) to indicate a negative number. See "Maximum Values for Numbers and Currency" in Intuity CONVERSANT System Version 7.0 Speech Development, Processing, and Recognition, 585-313-201 for information on language support for large numbers. Note: An asterisk (*) in front of the phrase name would indicate that it is not recorded. Figure 192. :a :b :c :d :e :f :g :h :i :j :k :l :m :n List of Standard Phrases — River Bank Sample Application std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 782 A Sample Application :o :p :q :r :s :t :u :v :w :x :y :z :0 :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 783 A Sample Application :16 :17 :18 :19 :20 :30 :40 :50 :60 :70 :80 :90 :100 :1000 :1000000 :a. :b. :c. :d. :e. :f. :g. :h. :i. :j. :k. :l. :m. Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 784 A Sample Application :n. :p. :q. :r. :s. :t. :u. :v. :w. :x. :y. :z. :0. :1. :2. :3. :4. :5. :6. :7. :8. :9. :10. :11. :12. :13. :14. :15. Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 785 A Sample Application :16. :17. :18. :19. :20. :30. :40. :50. :60. :70. :80. :90. :100. :1000. :1000000. :a? :b? :c? :d? :e? :f? :g? :h? :i? :j? :k? :l? :m? Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 786 A Sample Application :n? :o? :p? :q? :r? :s? :t? :u? :v? :w? :x? :y? :z? :0? :1? :2? :3? :4? :5? :6? :8? :9? :10? :11? :12? :13? :14? :15? Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 787 A Sample Application :16? :17? :18? :19? :20? :30? :40? :50? :60? :70? :80? :90? :100? :1000? :1000000? am april april. april? august august. august? cent cents december december. december? dollar Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 788 A Sample Application dollar and dollars dollars and eighteenth eighteenth. eighteenth? eighth eighth. eighth? eleventh eleventh. eleventh? february february. february? fifteenth fifteenth. fifteenth? fifth fifth. fifth? first first. first? fourteenth fourteenth. fourteenth? fourth Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 789 A Sample Application fourth. fourth? friday friday. friday? january january. january? july july. july? june june. june? march march. march? may may. may? midnight monday monday. monday? ninth ninth. ninth? noon Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 790 A Sample Application Standard Phrases november std_speech november. std_speech november? std_speech o’clock std_speech october std_speech october. std_speech october? std_speech oh (as in 8:05) std_speech pm std_speech point std_speech saturday std_speech saturday. std_speech saturday? std_speech second std_speech second. std_speech second? std_speech september std_speech september. std_speech september? std_speech seventeenth std_speech seventeenth. std_speech seventeenth? std_speech seventh std_speech seventh. std_speech seventh? std_speech sixteenth std_speech sixteenth. std_speech sixteenth? std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 791 A Sample Application sixth sixth. sixth? sunday sunday. sunday? tenth tenth. tenth? third third. third? thirteenth thirteenth. thirteenth? thirtieth thirtieth. thirtieth? thirtyfirst thirtyfirst. twelfth thirtyfirst? thursday thursday. thursday? tuesday tuesday. tuesday? Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 792 A Sample Application twelfth. twelfth? twentieth twentieth. twentieth? twentyeighth twentyeighth. twentyeighth? twentyfifth twentyfifth. twentyfifth? twentyfirst twentyfirst. twentyfirst? twentyfourth twentyfourth. twentyfourth? twentyninth twentyninth. twentyninth? twentysecond twentysecond. twentysecond? twentyseventh wednesday? twentyseventh. twentyseventh? twentysixth Standard Phrases std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech std_speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 793 A Sample Application Custom Phrases twentysixth. twentysixth? twentythird twentythird. twentythird? wednesday wednesday. std_speech std_speech std_speech std_speech std_speech std_speech std_speech Custom Phrases Figure 193 on page 794 shows all custom speech used in the River Bank sample application. Note: An asterisk (*) in front of the phrase name would indicate that it is not recorded. Figure 193. List of Custom Phrases — River Bank Sample Application i’m sorry, i didn’t get all your touch tones percent. please try again sil.050 sil.500 thank you Authorization code Enter from 1 to 4 digits Enter the new rate or press * to keep it unchang Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 std_speech std_speech std_speech std_speech std_speech std_speech River_Bank River_Bank River_Bank Issue 2 January 2000 794 A Sample Application Holiday, not open, please call back If you enter less than 4 digits, end with # No change The new rate is enter last four digits of ssnum for current rates for savings checking mortgage for savings or checking balance host down hours in host down hours out host up hours out i’m sorry, that was an invalid entry id ssnum combination do no match please enter id number thank you for calling river bank the mortgage interest rate is the auto loan interest rate is the checking acct interest rate is the savings acct interest rate is welcome to river bank you will be xferred to the next attendant your checking account balance is your savings account balance is Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Custom Phrases River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank River_Bank Issue 2 January 2000 795 A Sample Application Parameters Parameters Figure 194 on page 796 shows the River Bank sample application parameters. Figure 194. Parameters — River Bank Sample Application HOURS yes SUN - - - - - MON 08 00 AM 05 30 PM TUE 08 00 AM 05 30 PM WED 08 00 AM 05 30 PM THU 08 00 AM 05 30 PM FRI 08 00 AM 05 30 PM SAT - - - - - HOLIDAYS START: 01/01/91 02/18/91 05/27/91 07/04/91 09/02/91 10/14/91 11/28/91 12/25/91 HOLIDAYS END: GREETINGS START: GREETINGS END: PRIMARY SPEECH POOL: std_speech SECONDARY SPEECH POOL: River_Bank HOST yes TIMEOUT 60 UNRECTIME 60 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 796 A Sample Application Host Interface Screen Names and Fields LUAVAIL 0 RESERVELU yes LU START: LU END: CALL DATA START: user_id checking savings tt_code CALL DATA END: Host Interface Screen Names and Fields Figure 195 on page 797 shows all fields in host screens used in the River Bank sample application. Note: An asterisk (*) in front of the field name would indicate that it is not completely defined. Fields used in the transaction but not associated with a host screen would be labeled as No fields. Figure 195. Fields in Host Screens — River Bank Sample Application Screen blank : Field command Screen cics_banner : - No fields Screen login_base : Field option Screen main_menu : Field errors_choice Field form_choice Size 38 Type char Size 1 Type char Size Size 1 1 Type char Type char Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 797 A Sample Application Database Tables and Fields Field table_choice Field unform_choice Screen user_acct : Field bday Field checking Field city Field cur_date Field cur_time Field first_name Field last_four Field last_name Field savings Field ss_num Field user_id Size Size 1 1 Type char Type char Size Size Size Size Size Size Size Size Size Size Size 24 21 24 19 5 30 4 15 21 4 5 Type Type Type Type Type Type Type Type Type Type Type date num char date time char char char num char char Database Tables and Fields Figure 196 on page 798 shows all fields in database(s) used in the River Bank sample application. Figure 196. Database Fields — River Bank Sample Application Database river_db : Field account_type Field current_rate Field tt_code Size Size Size 13 Type char 12 Type num 7 Type num Fields used in the transaction but not associated with a database are labeled as No fields. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 798 A Sample Application Transaction and System Fields Transaction and System Fields Figure 197 on page 799 shows all transaction and system fields used in the River Bank sample application. Figure 197. Transaction and System Fields — River Bank Sample Application $CI_NO_DIGS_GOT : Size $CI_TRIES_USED $CI_VALUE $HOST_ERROR $HOST_SCREEN $HOURS_CLOSED $MATCH_FOUND $RECORDS_CHANGED $TRANSFER_RESULT acct_loop_tries change_request new_rate : : : : : : : : : : : Size Size Size Size Size Size Size Size Size Size Size 4 Type num 4 67 4 4 4 4 15 4 Type Type Type Type Type Type Type Type Type 1 Type Type Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 num char num num num num char num num char num Issue 2 January 2000 799 B Developing Language Implementations Overview This appendix provides custom application developers with information needed to build the language files required to support a Script Builder application when making changes to a language package. Note: The information in this appendix applies only if you need to make changes to a language package as it is provided with your system. Topics covered include: • Overview of Developing Language Implementations on page 801 • Defining the Language File and Directory on page 802 • Defining the Speech Tables on page 802 • Defining the TTS Tables on page 807 • Phrase List File for EBS on page 808 • Conventions for Language Implementations on page 809 • Verifying Format and Consistency of Language Definition Files on page 813 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 800 B Developing Language Implementations Overview of Developing Language Implementations Overview of Developing Language Implementations Developing language implementations involves several steps: • Defining the directory in which the language implementations reside (for example, /vs/bin/ag/formats/Dutch) • Identifying needed phrases and recording those phrases • Creating a talkfile and loading the recorded phrases onto the system • Developing functions (subroutines) in transaction assembler script (TAS) language that use the recorded phrases to speak the desired format See Intuity CONVERSANT System Version 7.0 Application Development with Advanced Methods, 585-313-203, for more information about writing TAS language subroutines. Note: See the German and Castilian Spanish language implementations that are already available for guidance in developing the necessary script functions. • Creating the speech format tables to support the developed script functions and recorded speech • Applying common conventions to maximize the feasibility of multilingual applications • Verifying format and consistency of language definition files Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 801 B Developing Language Implementations Defining the Language File and Directory Defining the Language File and Directory Each language that you want supported by Script Builder must have a directory with the same name as the language and created under the following directory: /vs/bin/ag/formats For example, the default language, US_English, is defined in the following directory: /vs/bin/ag/formats/US_English Language names can consist of uppercase or lowercase alphanumeric characters and "." and "_". The name can be up to 14 characters in length. No spaces are allowed. Defining the Speech Tables The language directory contains four tables that define the speech playback capability, two optional tables that define the text-to-speech (TTS) option, and a collection of TSM script routines that implement the various speech playback and TTS formats. format_tag The format_tag file lists the speech formats supported and the phrase tags required for each format. When a speech format is used by an application, all of the speech phrases listed in the format_tag file are added to the Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 802 B Developing Language Implementations Defining the Speech Tables application. Phrase tags can be listed directly or a group name can be listed to refer to a collection of phrase tags. Phrase tag groups represent a collection of phrase tags, such as digits with rising inflection, and are defined in the tag_groups file (see tag_groups on page 804). Each format is defined as follows (Figure 198 on page 803): Figure 198. format_tag File Format format (description of format) = {category1 phrase tag1 tag2 category2 "quoted tag" etc} Each format definition must begin on a new line. The description of format argument is the speech playback format that is available in the Choices menu (F2 ) of the Announce screen. This argument should be less than 60 characters, but sufficient to identify the intended use of the format. The description of the format should be placed in parentheses immediately following the format name. Within the second set of brackets ("{" and "}") you should include the list of phrase tags and phrase tag groups that may be required to speak the format. Separate each phrase tag and/or phrase tag group with white space, including blanks, tabs, and new lines); commas are not allowed. If you have a phrase tag that consists of multiple words with embedded white space, surround the phrase tag with quotes as shown in format_tag File Format on page 803. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 803 B Developing Language Implementations tag_groups Defining the Speech Tables The tag_groups file lists groups of phrase tags and phrases in each group. Group names can consist of uppecase or lowercase alphanumeric characters and the characters "-," "_," "." Group names cannot have embedded white space. Each group is defined as follows (Figure 199 on page 804): Figure 199. tag_groups File Format groupname (description of group) = {tag1 tag2 tag3 "quoted tag" etc} Each group must begin on a new line. The description of group is optional; however, if it is provided, ten the groupname is shown in the Add Phrases menu under Speech Administration. Because of this, you are able to add the groupname to the application before using the formats that might reference that group. Otherwise, the phrasegroup is not visible to you, and it is simply used to specify phrases for the format_tag file. The phrase tags within the second set of brackets are the phrase tags that are included in the phrase group. If you have a phrase tag that consists of multiple words within embedded white space, surround the phrase tag with quotes as shown in tag_groups File Format on page 804. White space can be used freely within the entry. format_code The format_code file lists the supported formats and the code to be generated by the system for each format. Each format code description includes four fields (Figure 200 on page 805): Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 804 B Developing Language Implementations Figure 200. Defining the Speech Tables Format Code File Format format code_for_numeric_args script_file code_for_char_args The format is identical to the format described in the format_tag file (see Figure 198 on page 803). The second field, code_for_numeric_args, contains the script code to be generated when a numeric field is being spoken. The third field, code_for_char_args, contains the code to be generated when a character, date, or time field is being spoken. The last field, script_file, contains the name of the script file containing the subroutines that must be included with the application, if any. If the code generated contains a call of a subroutine, then this field must list the file containing that subroutine. The file name, with no directories, is specified. The system automatically generates the directory name. Only one line per format is allowed, even if the line wraps when displayed, as shown in the following example: N$D2 "L__sp_dolc2 ($field)""L__csp_dolc2 ($field)"_sp_ dolc2.t Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 805 B Developing Language Implementations Defining the Speech Tables Each field is separated by white space. If the code generated contains white space (spaces or tabs), the code must be surrounded by quotes. Parameter substitution occurs as follows: • The string, $field, is replaced with the field name of the data to be spoken. The field name is prepended with the tas syntax, ch., int., or im., as appropriate for the script instruction. • The string, $format, is replaced by the current format as a string. To accommodate TAS conventions, the format is copied into a temporary variable, and the address of that variable is passed in place of $format. Multiple script instructions can be included in one of the entries by separating them with a semicolon (;). Within the field, a backslash ( \ ) is used as an escape for quotes (or white space, for that matter). Unused fields can have a "-" (dash) as a placeholder. The last two fields are optional. If a numeric field is to be spoken with a format for which no numeric code is provided, the system generates code to convert the field to ASCII format (an itoa script instruction), and generates the code for character fields. Likewise, if a character field is to be spoken, but only numeric code has been provided, the system generates code to convert the numeric code and generates the specified numeric code. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 806 B Developing Language Implementations proto.pl Defining the Speech Tables The proto.pl file specifies the enhanced basic speech (EBS), formerly called standard speech, phrase tags and their corresponding phrase numbers. The proto.pl file has the same format as a .pl file. See Phrase List File for EBS on page 808 for more information about a .pl file. The first field in each line of the proto.pl file is ignored. The first 999 phrase numbers (1-999) are reserved for standard phrases with fixed phrase number assignments. If a standard phrase does not need to be assigned a specific phrase number, then the proto.pl file can show phrase number 0 for the phrase. This causes the system to assign any available phrase number greater than 999 to the phrase and place it in the primary pool for the application. It is an error for a phrase to be listed in the format_tag or tag_group file and not be listed in the proto.pl file. However, phrases can be contained in the proto.pl file that are not currently referenced in the other files. Defining the TTS Tables Two optional tables define the TTS capability. TTS can be supported in the same way US English TTS is provided. Specific TTS formats are provided to tell the system to speak field data in the various formats. The formats are named the same as the non-TTS equivalents, but with a letter "A" preceding them. Note: The TTS formats are only made available to the user if the TTS package is loaded on the system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 807 B Developing Language Implementations Phrase List File for EBS TTSformat_tfile and The TTS formats are defined in separate TTS files: TTSformat_cfile • The TTSformat_tfile file is used to define TTS formats that are supported for a particular language. If TTS is not available for a language, this file is not provided. The file has the same format as the format_tag file (see format_tag on page 802), but there are no tags or tag groups listed within the curly brackets. • The TTSformat_cfile file is used to specify the code to be generated for TTS formats for a particular language. It is only provided if TTS is available for the language. The format of the file is the same as the format_code file (see format_code on page 804). Phrase List File for EBS A language implementation normally includes an EBS package with all the necessary prerecorded phrases in a female voice a (male voice is available for US English only). A phrase list (.pl) file defines the phrase names and phrase numbers for all the phrases in the EBS package. The first line of the .pl file must have the language listed at the end in brackets. The language name must be the same as used in the language package (the same as the subdirectory name in the /vs/bin/ag/formats directory). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 808 B Developing Language Implementations Conventions for Language Implementations An example of the first line of a .pl file is: 225 Standard speech in male voice [US_English] The purpose of identifying the EBS language is to prevent its inadvertent use by the developer for the wrong language. Conventions for Language Implementations Phrase Tags Standard phrases should be labeled using the following conventions: • The colon (:) can be used as the first character of a phrase to indicate that a phrase is a standard phrase. Custom phrases may not start with a colon. • The letters of the alphabet, digits, the minus sign ("-"), and the touch-tone symbols ( * )and ( # ), will normally be allocated fixed phrase numbers and have phrase numbers starting with a colon. • Additional numbers and phrase fragments, such as the teens, the tens through 90, hundred, and thousand, as necessary to speak numbers in a natural style for a particular language are also denoted with a colon, and assigned fixed phrase numbers. Some languages may have to augment these with different phrases to allow speaking a number with the appropriate gender, or to include additional phrase fragments such as the numbers through 99. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 809 B Developing Language Implementations Format Names Conventions for Language Implementations • If a language implementation supports multiple inflections, then the standard phrases would be recorded with a rising and falling inflection, in addition to the medial inflection. The inflection is normally denoted by adding a period ( . ) for falling inflection or a question mark ( ? ) for rising inflection to the end of the phrase tag. For example, for US English, the phrase tag ":100?" refers to the fragment "hundred" spoken with a rising inflection: • Other standard phrases necessary to speak money in the correct currency for a language, to speak dates and times, etc., must be defined. These can start with a colon and/or be available in multiple inflections, but this is not required. • All standard phrases must be included in the proto.pl file, whether or not they start with a colon. It is desirable that an application be easily modified to support different languages. This requires that as many of the formats as possible follow a standard naming convention, so the formats will be available in all languages. The current naming convention is based on the US English implementation. Thus, it is desirable that each language support the same formats as US English using the same format name. Examples are THMAM (time: hour, minute, AM/PM), and DMSPDYY (date: with month spoken as a word — for example, January — day, and year as four digits). Currency is denoted with the dollar sign "$" (such as N$D2 — number spoken as dollars and 2-digit cents). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 810 B Developing Language Implementations Conventions for Language Implementations In particular, the most standard way of speaking numbers, characters, dates, currency, and times should be assigned the default format for the language (N, C, D, N$, and T, respectively.) Additional formats and names for formats can be specified to support natural spoken data according to each language’s grammar. For example, the Spanish formats for numbers referring to a masculine, feminine, or neutral noun are "NM," "NF," and "NN," respectively. If TTS is provided for a language, the TTS formats should be the same as the formats for prerecorded phrases, except that the format is preceded by the letter A (for example, "AN" and "ATHMAM"). Thus non-TTS formats should not start with the letter A. Phrase Numbers The proto.pl file is used to define phrase numbers for the standard phrases. The phrase numbers 1-999 are reserved for standard phrases. It is desirable, but not necessary that all standard phrases be allocated specific phrase numbers within this range. The phrases that must be allocated in this range are those that must be allocated a specific number or allocated contiguously for the implementation. Examples are the letters of the alphabet, numbers, months, and ordinal numbers if needed. The implementation will typically compute the phrase numbers for these by adding an offset to a base phrase number of a contiguous set of phrases for the set. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 811 B Developing Language Implementations Conventions for Language Implementations In cases where standard phrases are referenced only by their phrase tag, such a "dollars and" for US English, it is not necessary that a fixed phrase number be assigned. These can be assigned phrase number 0, in the proto.pl file. Rules for Creating Script Subroutine Source Files A language package should include a set of script subroutine source (.t) files, necessary to implement the various formats, as well as the specific files listed previously. The rules for these files are based on the rules for external functions, described in Writing External Functions on page 736 in Chapter 11, Using Advanced Features. Particular differences are: • The files are installed in the same language directory as the language definition files, /vs/bin/ag/formats/language, rather than in the directory for external functions. • The file names should start with an underscore ("_"), and use a .t suffix. • The file names should include a language identifier, such as "CS" for Castilian Spanish (_CSsp_dol.t). • Labels within the file should be of the following format: L_fileprefix_uniquesuffix For example, labels within the above file could include L__CSsp_dol, L__CSsp_dolErr, L__CSsp_dol2, L__CSsp_dol_rtn, etc. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 812 B Developing Language Implementations Verifying Format and Consistency of Language Definition Files Verifying Format and Consistency of Language Definition Files Use the utility program getformats to check that the language definition files are properly formatted and consistent with each other. This tool reads the language definition files for a specific language (once they have been installed in the /vs/bin/ag/formats/language directory), and outputs a copy of what it reads. Checking this output allows you to confirm that the files were read properly. If any phrase tags are defined in the format_tags or tag_groups file that are not listed in the proto.pl file, the program generates an error message. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 813 Glossary Numerics 23B+D 23 bearer (communication) and 1 data (signaling) channel on a T1 PRI circuit card. 30B+D 30 bearer (communication) and 1 data (signaling) channel (plus framing channel 0) on an E1 PRI circuit card. 3270 interface A link between one or more Intuity CONVERSANT machines and a host mainframe. In Intuity CONVERSANT system documentation, the 3270 interface specifically means the link between one or more system machines and an IBM host mainframe. 47B+D 47 bearer (communication) and 1 data (signaling) channel on two T1 PRI circuit cards. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 814 4ESS® Glossary 4ESS® A large Lucent central office switch used to route calls through the telephone network. A AC alternating current ACD automatic call distributor AD application dispatch AD-API application dispatch application programming interface adaptive differential pulse code modulation A means of encoding analog voice signals into digital signals by adaptively predicting future encoded voice signals. This adaptive modulation method reduces the number of bits required to encode voice. See also “pulse code modulation.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 815 Glossary adjunct products adjunct products Products (for example, the Adjunct/Switch Application Interface) that the Intuity system administers via cut-through access to the inherent management capabilities of the product itself; this is in opposition to the ability of the Intuity CONVERSANT system to administer the switch directly. Adjunct/Switch Application Interface An optional feature package that provides an Integrated Services Digital Networkbased interface between Lucent Technologies PBXs and adjunct processors. ADPCM adaptive differential pulse code modulation ADU asynchronous data unit advanced speech recognition A speech recognition ability that allows the system to understand WholeWord and FlexWord™ inputs from callers. affiliate A business organization that Lucent controls or with which Lucent is in partnership. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 816 Glossary AGL AGL application generation language alarm relay unit A unit used in central office telecommunication arrangements that transmits warning indicators from telephone communications equipment (such as an Intuity CONVERSANT system) to audio. ALERT System alerter process alerter A system process that responds to patterns of events logged by the “logdaemon” process. American Standard Code for Information Interchange A standard code for data representation that represents alphanumeric characters as binary numbers. The code includes 128 upper- and lowercase letters, numerals, and special characters. Each alphanumeric and special character has an ASCII code (binary) equivalent that is 1 byte long. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 817 Glossary analog analog An analog signal, such as voice or music, that varies in a continuous manner. An analog signal may be contrasted with a digital signal, which represents only discrete states. ANI automatic number identification announcement A message the system plays to the caller to provide information. The caller is not asked to give a response. Compare to “prompt.” API Application programming interface application The automated transaction (interactions) among the caller, the voice response system, and any databases or host computers required for your business. See also “application script.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 818 Glossary application administration application administration The component of the Intuity CONVERSANT system that provides access to the applications currently available on your system and helps you to manage and administer them. application installation A two-step process in which the Intuity CONVERSANT system invokes the TSM script assembler for the specific application name and moves files to the appropriate directories. application script The computer program that controls the application (the transaction between the caller and the system). The Intuity CONVERSANT system provides several methods for creating application scripts, including Voice@Work, Script Builder, Transaction Assembler Script (TAS) language, and the Intuity Response Application Programming Interface (IRAPI). application verification A process in which the Intuity CONVERSANT system verifies that all the components needed by an application are complete. ASCII American Standard Code for Information Interchange Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 819 Glossary ASI ASI analog switch integration ASR advanced speech recognition asynchronous communication A method of data transmission in which bits or characters are sent at irregular intervals and spaced by start and stop bits rather than by time. Compare to “synchronous communication.” asynchronous data unit An electronic communications device that allows computer systems to communicate over asynchronous lines more than 50 feet (15 m) in length. automatic call distributor That part of a telephone system that recognizes and answers incoming calls and completes these calls based on a set of instructions contained in a database. The ACD can send the call to an operator or group of operators as soon as the operator has completed a previous call or after the system has played a message to the caller. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 820 Glossary automatic number identification automatic number identification A method of identifying the calling party by automatically receiving a string of digits that identifies the calling station of a particular customer. AYC5B The IVP6 Tip/Ring (analog) circuit card. AYC10 The IVC6 Tip/Ring (analog) circuit card. AYC21 The E1/T1 (digital) circuit card. AYC30 The NGTR (analog) circuit card. AYC43 The speech and signal processor (SSP) circuit card. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 821 Glossary B back up back up The preservation of the information in a file in a different location, so that the data is not lost in the event of hardware or system failure. backing up an application Using a utility that makes an archive copy of a completed application or an interim copy of an application in progress. The back-up copy can be restored to the system if the on-line version is damaged, or if you make revisions and want to go back to the previous version. barge-in A capability provided by WholeWord speech recognition and Dial Pulse Recognition (DPR) that allows callers to speak or enter their responses during the prompt and have those responses recognized (similar to the Speak with Interrupt capability). See also “echo cancellation.” batch file A file containing one or more lines, each of which is a command executable by the UNIX shell. BB bulletin board Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 822 Glossary binary synchronous communications binary synchronous communications A character-oriented synchronous link protocol. blind transfer protocol A protocol in which a call is completed as soon as the extension is dialed, without having to wait to see if the telephone is busy or if the caller answered. bps bits per second BRDG call bridging process bridging The process of connecting one telephone network connection to another over the Intuity CONVERSANT system TDM bus. Bridging decreases the processing load on the system since an active bridge does not require speech processing, database access, host activity, etc., for the transaction. BSC binary synchronous communications Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 823 Glossary bundle bundle In the context of the Enhanced File Transfer package, this term is used to denote a single file, a group of files (package), or a combination of both. byte A unit of storage in the computer. On many systems, a byte is 8 bits (binary digits), which is the equivalent of one character of text. C call classification analysis A process that enables application designers to use information available within the system to classify the disposition of originated and transferred calls. Intelligent CCA is provided with the system. Full CCA is an optional feature package. call data event A parameter that specifies a list of variables that are appended to a call data record at the end of each call. call data handler process A software process that accumulates generic call statistics and application events. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 824 Glossary called party number called party number The number dialed by the person making a telephone call. Telephone switching equipment can use this number to selectively route an incoming call to a particular department or agent. caller The party who calls for a service, gets connected to the Intuity CONVERSANT system, and interacts with it. As the Intuity CONVERSANT system can also make outbound calls for service, the caller can also be the person who responds to those outbound calls. call flow See ”transaction.” call progress tones Standard telephony sounds that indicate the status of the call. These sounds include busy, fast busy, ringback, reorder, etc. card cage An area within a Intuity CONVERSANT system platform that contains and secures all of the standard and optional circuit cards used in the system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 825 Glossary cartridge tape drive cartridge tape drive A high-capacity data storage/retrieval device that can be used to transfer large amounts of information onto high-density magnetic cartridge tape based on a predetermined format. This tape can be removed from the system and stored as a backup, or used on another system. CAS channel associated signalling caution An admonishment or advisory statement used in Intuity CONVERSANT system documentation to alert the user to the possibility of a service interruption or a loss of data. CCA call classification analysis CDH call data handler process CELP code excited linear prediction Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 826 Glossary central office central office An office or location in which large telecommunication devices such as telephone switches and network access facilities are maintained. These locations follow strict installation and operation requirements. central processing unit See “processor.” CGEN Voice system general message class channel See “port.” channel associated signaling A type of signaling that can be used on E1 circuit cards. It occurs on channel 16. CICS Customer Information Control System Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 827 Glossary circuit card upgrade circuit card upgrade A new circuit card that replaces an existing card in the platform. Usually the replacement is an updated version of the original circuit card to replace technology made obsolete by industry trends or a new system release. cluster controller A bisynchronous interface that provides a means of handling remote communication processing. CMS Call Management System CO central office code excited linear prediction A means of encoding analog voice signals into digital signals that provides excellent quality with use of minimum disk space. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 828 Glossary command command An instruction or request the user issues to the system software to make the system perform a particular function. An entire command consists of the command name and options. configuration The arrangement of the software and hardware of a computer system or network. The Intuity CONVERSANT system configuration includes either a standard or custom processor, peripheral equipment (for example, printers and modems), and software applications. Configuration also refers to the way the switch network is set up; that is, the types of products that are in the network and how those products communicate. configuration management The component of the system that allows you to manage the current configuration of voice channels, host sessions, and database connections, assign scripts to run on specific voice channels or host sessions, assign functionality to SSP and E1/T1 circuit cards, and perform various maintenance functions. connect and disconnect (C and D) tones DTMF tones that inform the system when the attendant has been connected (C) and when the caller has been disconnected (D). Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 829 Glossary connected digits connected digits A sequence of digits that the system can process as a group, rather than requiring the caller to enter the digits one at a time. Converse Data Return (conv_data) A Script Builder action that supports the DEFINITY® call vectoring (routing) feature by enabling the switch to retain control of vector processing in the system environment. It supports the DEFINITY “converse” vector command to establish a two-way routing mechanism between the switch and the system to facilitate data passing and return. controller circuit card A circuit card used on a computer system that controls its basic functionality and makes the system operational. These circuit cards are used to control magnetic peripherals, video monitors, and basic system communications. copying an application A utility in which information from a source application is directed into the destination application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 830 Glossary coresidency coresidency The ability of two products or services to operate and interact with each other on a single hardware platform. An example of this is the use of an Intuity CONVERSANT system along with a package from a different vendor on the same system platform. CPE customer provided equipment or customer premise equipment CPN called party number CPT call progress tones CPU central processing unit crash An interactive utility for examining the operating system core and for determining if system parameters are being exceeded. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 831 Glossary CSU CSU channel service unit custom speech Unique words or phrases to be used in Intuity CONVERSANT system voice prompts that Lucent Technologies custom records on a per-customer basis. custom vocabulary A specialized package of unique words or phrases created on a per-customer basis and used by WholeWord or FlexWord speech recognition. Customer Information Control System Part of the operating system that manages resources for running applications (for example, IND$FILE). Note that TSO and CMS provide analogous functionality in other host environments. CVS converse vector step Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 832 Glossary D danger danger An admonishment or advisory statement used in Intuity CONVERSANT system documentation to alert the user to the possibility of personal injury or death. data interface process A software process that communicates with Script Builder applications. database A structured set of files, records, or tables. database field A field used to extract values from a local database and form the structure upon which a database is built. database record The information in a database for a person, product, event, etc. The database record is made up of individual fields for each information item. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 833 Glossary database table database table A structure, made up of columns and rows, that holds information in a database. Database tables provide a means of storing information that changes too often to “hard-code,” or store permanently, in the transaction outline. dB decibel DB database DBC database checking process DBMS database management system DC direct current DCE data communications equipment Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 834 Glossary DCP DCP digital communications protocol debug The process of locating and correcting errors in computer programs; also referred to as “troubleshooting.” default The way a computer performs a task in the absence of other instructions. default owner The owner of a channel when no process takes ownership of that channel. The default owner holds all idle, in-service channels. In terms of the IRAPI, this is typically the Application Dispatch process. diagnose The process of performing diagnostics on a bus or on Tip/Ring, E1/T1, or SSP circuit cards. dial ahead The ability to collect and process touch-tone inputs in sequence, even when they are received before the prompts. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 835 Glossary dial pulse recognition dial pulse recognition A method of recognizing caller pulse inputs from a rotary telephone. dialed number identification service A service that allows incoming calls to contain information about the telephone number for which it is destined. dial through A capability provided by touch-tone and dial pulse recognition that allows callers to enter their responses during the prompt and have those responses recognized (similar to the Speak with Interrupt capability). See also “barge-in” and “echo cancellation”. dictionary A reference book containing an alphabetical list of words, with information given for each word including meaning, pronunciation, and etymology. DIMM dual in-line memory module DIO disk input and output process Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 836 Glossary DIP DIP data interface process directory A type of file used to group and organize other files or directories. display errdata A command that displays system errors sent to the logger. DMA direct memory address DNIS dialed number identification service DPR dial pulse recognition DSP digital signal processor Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 837 Glossary DTE DTE data terminal equipment DTMF dual tone multi-frequency DTR data terminal ready dual 3270 links A feature that provides an additional physical unit (PU) for a cost-effective means of connecting to two host computers. The customer can connect a system to two separate FEPs or to a single FEP shared by one or more host computers. Each link supports a maximum of 32 LUs. dual tone multi-frequency A touch-tone sound that is an audio signal including two different frequencies. DTMF feedback is the process of the “switch” providing this information to the system. DTMF muting is the process of ignoring these tones (which might be simulated by human speech) when they are not needed for the application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 838 Glossary dump space dump space An area of the disk that is fixed in size and should equal the amount of RAM on the system. The operating system “dumps” an image of core memory when the system crashes. The dump can be fetched after rebooting to help in analyzing the cause of the crash. E E&M Ear and Mouth E1 / T1 Digital telephony interfaces, commonly called trunks. E1 is an international standard at 2.048 Mbps. T1 is a North American standard at 1.544 Mbps. Ear and Mouth A common T1 trunking protocol for connection between two “switches.” EBCDIC Extended Binary Coded Decimal Interexchange Code Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 839 Glossary echo cancellation echo cancellation The process of making the channel quiet enough so that the system can hear and recognize WholeWord and dial pulse inputs during the prompt. See also “barge-in.” ECS Enterprise Communications Server editor system A system that allows speech phrases to be displayed and edited by a user. See “Graphical Speech Editor.” EFT Enhanced File Transfer EIA Electronic Industries Association EISA Extended Industry Standard Architecture EMI electromagnetic interference Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 840 Glossary enhanced basic speech enhanced basic speech Pre-recorded speech available from Lucent Technologies in several languages. Sometimes called “standard speech.” Enhanced File Transfer A feature that allows the transferring of files automatically between the Intuity CONVERSANT system and a synchronous host processor on a designated logical unit. Enhanced Serial Data Interface A software- and hardware-controlled method used to store data on magnetic peripherals. Enterprise Communications Server The telephony equipment that connects your business to the telephone network. Sometimes called a “switch.” error message A message on the screen indicating that something is wrong with a possible suggestion of how to correct it. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 841 Glossary ESD ESD electrostatic discharge ESDI Enhanced Serial Data Interface ESS electronic switching system EST Enhanced Software Technologies, Inc. ET error tracker Ethernet A name for a local area network that uses 10BASE5 or 10BASE2 coaxial cable and InterLAN signaling techniques. event The notification given to an application when some condition occurs that is generally not encountered in normal operation. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 842 Glossary EXTA EXTA external alarms feature message class external actions Specific predefined system tasks that Script Builder can call or invoke to interact with other products or services. When an external action is invoked, the systems displays a form that provides choices in each field for the application developer to select. Examples are Call_Bridge, Make_Call, SP_Allocate, SR_Prompt, etc. In Voice@Work, external actions are treated as “external functions.” external functions Specific predefined (or customer-created) system tasks that Voice@Work or Script Builder can call or invoke to interact with other products or services. The function allows the application developer to enter the argument(s) for the function to act on. Examples are concat, getarg, length, substring, etc. See also “external actions.” F FAX Actions An optional feature package that allows the system to send fax messages. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 843 Glossary FCC FCC Federal Communications Commission FDD floppy disk drive feature A function or capability of a product or an application within the Intuity CONVERSANT system. feature package An optional package that may contain both hardware and software resources to provide additional functionality to a standard system. feature_tst script package A standard Intuity CONVERSANT system software program that allows a user to perform self-tests of critical hardware and software functionality. FEP front end processor Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 844 Glossary FFE FFE Form Filler Plus feature message class field See “database field.” FIFO first-in-first-out processing order file A collection of data treated as a basic unit of storage. file transfer An option that allows you to transfer files interactively or directly to and from UNIX using the file transfer system (FTS). filename Alphabetic characters used to identify a particular file. FlexWord™ speech recognition A type of speech recognition based on subword technology that recognizes phonemes or parts of words in a specific language. See also “subword technology.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 845 Glossary foos foos facility out-of-service state Form Filler Plus An optional feature package that provides the capability for application scripts to record a caller’s responses to prompts for later transcription and review. FTS file transfer process message class Full CCA A feature package that augments the types of call dispositions that Intelligent CCA can provide. function key A key, labeled F1 through F8, on your keyboard to which the Intuity CONVERSANT system software gives special properties for manipulating the user interface. G GEN PRISM logger and alerter general message class Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 846 Glossary grammar grammar The inputs that a recognizer can match (identify) from a caller. Graphical Speech Editor A window-driven, X Windows/Motif based, graphical user interface (GUI) that can be accessed to perform different functions associated with the creation and editing of speech files for applications. The editing is done on the Intuity CONVERSANT system. GSE Graphical Speech Editor GUI graphical user interface H hard disk drive A high-capacity data storage/retrieval device that is located inside a computer platform. A hard disk drive stores data on nonremovable high-density magnetic media based on a predetermined format for retrieval by the system at a later date. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 847 Glossary hardware hardware The physical components of a computer system. The central processing unit, disks, tape, and floppy drives, etc., are all hardware. Hardware Resource Allocator A software program that resolves or blocks the allocation of CPU and memory resources for controlling and optional circuit cards. hardware upgrade Replacement of one or more fundamental platform hardware components (for example, the CPU or hard disk drive), while the existing platform and other existing optional circuit cards remain. HDD hard disk drive High Level Language Applications Programming Interface An application programming interface that allows a user to write custom applications that can communicate with a host computer via an API. HLLAPI High Level Language Applications Programming Interface Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 848 Glossary HOST HOST host interface process message class host computer A computer linked to a network to provide a range of services, such as database access and computation. The host computer operates in a time-sharing manner with other computers linked to it via the network. hwoos hardware out-of-service state Hz Hertz I IBM International Business Machines iCk or ICK The system integrity checking process. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 849 Glossary ID ID identification IDE integrated disk electronics idle channel A channel that either has no owner or is owned by its default owner and is onhook. IE information element IND$FILE The standard SNA file transfer utility that runs as an application under CICS, TSO, and CMS. IND$FILE is independent of link-level protocols such as BISYNC and SDLC. independent software vendor A company that has an agreement with Lucent Technologies to develop software to work with the Intuity CONVERSANT system to provide additional features required by customers. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 850 Glossary indexed table indexed table A table that, unlike a nonindexed table, can be searched via a field name that has been indexed. industry standard architecture A PC bus standard that allows processors and other circuit cards to communicate with each other. INIT voice system initialization message class initialize To start up the system for the first time. inserv in-service state Integrated Services Digital Network A network that provides end-to-end digital connectivity to support a wide range of voice and data services. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 851 Glossary Integrated Voice Processing (IVP) circuit card Integrated Voice Processing (IVP) circuit card The IVP6 circuit card that provides Tip/Ring connections. The NGTR (AYC30) card also provides the same functions. intelligent CCA Monitoring the line after dialing is complete to determine whether a busy, reorder (fast busy), or other failure has been encountered. It also recognizes when the extension is answered or if the extension is not answered after a specified number of rings. The monitoring capabilities are dependent on the network interface circuit card and protocol used interface The access point of a system. With respect to the Intuity CONVERSANT system, the interface is designed to provide you with easy access to the software capabilities. interrupt The termination of voice and/or telephony functions when some condition occurs. Intuity Response Application Programming Interface A library of commands that provide a standard development interface for voicetelephony applications. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 852 Glossary IPC IPC interprocess communication IPC intelligent ports card (IPC-900) IPCI integrated personal computer interface IRAPI Intuity Response Application Programming Interface IRQ interrupt request ISA industry standard architecture ISDN Integrated Services Digital Network Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 853 Glossary ISV ISV independent software vendor ITAC International Technical Assistance Center IVC6 circuit card (AYC10) A Tip/Ring (analog) circuit card with six channels. IVP6 circuit card (AYC5B) A Tip/Ring (analog) card with six channels. K Kbps kilobytes per second Kbyte kilobyte Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 854 Glossary keyboard mapping keyboard mapping In emulation mode, this feature enables the keyboard to send 3270 keyboard codes to the host according to a configuration table set up during installation. keyword spotting A capability provided by WholeWord speech recognition that allows the system to recognize a single word in the middle of an entire phrase spoken by a caller in response to a prompt. L LAN local area network LDB local database LED light-emitting diode library states The state information about channel activities maintained by the IRAPI. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 855 Glossary LIFO LIFO last-in-first-out processing order line side E1 A digital method of interfacing an Intuity CONVERSANT system to a PBX or “switch” using E1-related hardware and software. line side T1 A digital method of interfacing an Intuity CONVERSANT system to a PBX or “switch” using T1-related hardware and software. listfile An ASCII catalog that lists the contents of one or more talkfiles. Each application script is typically associated with a separate listfile. The listfile maps speech phrase strings used by application scripts into speech phrase numbers. local area network A data communications network in a limited geographical area. The LAN provides communications between computers and peripherals. local database A database residing on the Intuity CONVERSANT system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 856 Glossary LOG LOG Intuity CONVERSANT system logger process message class logical unit A type of SNA Network Addressable Unit. logdaemon A UNIX system information and error logging process. logger See “logdaemon.” logging on/off Entering or exiting the Intuity CONVERSANT system software. LSE1 line side E1 LST1 line side T1 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 857 Glossary LU LU logical unit M magnetic peripherals Data storage devices that use magnetic media to store information. Such devices include hard disk drives, floppy disk drives, and cartridge tape drives. main screen The Intuity CONVERSANT system screen from which you are able to enter either the System Administration or Voice System Administration menu. maintenance process A software process that runs temporary diagnostics and maintains the state of circuit cards and channels. manoos manually out-of-service state MAP/100P multi application platform 100P Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 858 Glossary MAP/100C MAP/100C multi application platform 100C MAP/40P multi application platform 40P MAP/5P multi application platform 5P masked event An event that an application can ignore (that is, the application can request not to be informed of the event). master A circuit card that provides clock information to the TDM bus. Mbps megabits per second MByte megabyte Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 859 Glossary megabyte megabyte A unit of memory equal to 1,048,576 bytes (1024 x 1024). It is often rounded to one million. menu Options presented to a user on a computer screen or with voice prompts. MF multifrequency MHz megahertz Microsoft A manufacturer of software products, primarily for IBM-compatible computers. mirroring A method of data backup that allows all of the data transactions to the primary hard disk drive to be copied and maintained on a second identical drive in near real time. If the primary disk drive crashes or becomes disabled, all of the data stored on it (up to 1.2 billion bytes of information) is accessible on the second mirrored disk drive. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 860 Glossary ms ms millisecond msec millisecond MS-DOS A personal computer disk operating system developed by the Microsoft Corporation. MTC maintenance process multifrequency Dual tone digit signalling (similar to DTMF), used for trunk addressing between network switches or by network operators. multithreaded application A single process/application that controls several channels. Each thread of the application is managed explicitly. Typically this means state information for each thread is maintained and the state of the application on each channel is tracked. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 861 Glossary N NCP NCP Network Control Program NEBS Network Equipment Building Standards NEMA National Electrical Manufacturers Association netoos network out-of-service state NetView An optional feature package that transmits high-priority (major or critical) messages to the host as operator-generated alerts (OGAs) over the 3270 host link. The NetView Alarm feature package does not require a dedicated LU. next generation Tip/Ring (AYC30) circuit card An analog circuit card with six channels. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 862 Glossary NFAS NFAS non-facility associated signalling NFS network file sharing NGTR next generation Tip/Ring (AYC30) circuit card NM-API Network Management - Application Programming Interface NMVT network management vector transport nonex nonexistent state nonindexed table A table that can be searched only in a sequential manner and not via a field name. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 863 Glossary nonmasked event nonmasked event An event that must be sent to the application. Generally, an event is nonmaskable if the application would likely encounter state transition errors by trying to it. NRZ non return to zero NRZI non return to zero inverted null value An entry containing no value. A field containing a null value is normally displayed as blank and is different from a field containing a value of zero. O obsolete hardware Hardware that is no longer supported on the Intuity CONVERSANT system. OEM original equipment manufacturer Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 864 Glossary OGA OGA operator-generated alert on-line help Messages or information that appear on the user’s screen when a “function key” (F1 through F8) is pressed. operator-generated alert A system-monitoring message that is transmitted from the Intuity CONVERSANT system or other computer system to an IBM host computer and is classified as critical or major. option An argument used in a command line to modify program output by modifying the execution of a command. When you do not specify any options, the command executes according to its default options. ORACLE A company that produces relational database management software. It is also used as a generic term that identifies a database residing on a local or remote system that is created and maintained using an ORACLE RDBMS product. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 865 Glossary P P&C P&C Prompt and Collect Script Builder action step PBX private branch exchange PC personal computer PCB printed circuit board PCI peripheral component interconnect PCM pulse code modulation PEC price element code Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 866 Glossary peripheral (device) peripheral (device) Equipment such as printers or terminals that is in addition to the basic processor. peripheral component interconnect A newer, higher speed PC bus that is gradually displacing ISA for many components. permanent process A process that starts and initializes itself before it is needed by a caller. phoneme A single basic sound of a particular spoken language. For example, the English language contains 40 phonemes that represent all basic sounds used with the language. The English word “one” can be represented with three phonemes, “w” “uh” - “n.” Phonemes vary between languages because of guttural and nasal inflections and syllable constructs. phrase filtering (screening) The rejection of unrecognized speech. The WholeWord and FlexWord speech recognition packages can be programmed to reprompt the caller if the Intuity CONVERSANT system does not recognize a spoken response. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 867 Glossary phrase tag phrase tag A string of up to 50 characters that identifies the contents of a speech phrase used by an application script. platform migration See “platform upgrade.” platform upgrade The process of replacing the existing platform with a new platform. pluggable A term usually used with speech technologies, in particular standard speech, to indicate that a basic algorithmic technique has been implemented to accept one or more sets of parameters that tailors the algorithm to perform in one or more languages. poll A message sent from a central controller to an individual station on a multipoint network inviting that station to send if it has any traffic. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 868 Glossary polling polling A network arrangement whereby a central computer asks each remote location whether it wants to send information. This arrangement enables each user or remote data terminal to transmit and receive information on shared facilities. port A connection or link between two devices that allows information to travel to a desired location. See “telephone network connection.” PRI Primary Rate Interface Primary Rate Interface An ISDN term for connections over E1 or T1 facilities that are usually treated as trunks. private branch exchange A private switching system, either manual or automatic, usually serving an organization, such as a business or government agency, and usually located on the customer’s premises. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 869 Glossary processor processor In Intuity CONVERSANT system documentation, the computer on which UnixWare and Intuity CONVERSANT system software runs. In general, the part of the computer system that processes the data. Also known as the “central processing unit.” prompt A message played to a caller that gives the caller a choice of selections in a menu and asks for a response. Compare to “announcement.” prompt and collect (P and C) A message played to a caller that gives the caller a choice of selections in a menu and asks for a response. The responses is collected and the script progresses based on the caller’s response. pseudo driver A driver that does not control any hardware. PS&BM power supply and battery module Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 870 Glossary PSTN PSTN public switch telephone network pulse code modulation A digital modulation method of encoding voice signals into digital signals. See also “adaptive differential pulse code modulation.” R RAID redundant array of independent disks RAID array An assembly of disk drives configured to provide some level of RAID functionality. RAM random access memory RDMBS ORACLE relational database management system Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 871 Glossary RECOG RECOG speech recognition feature message class recognition type The type of input the recognizer can understand. Available types include touch-tone, dial pulse, and Advanced Speech Recognition (ASR), which includes WholeWord and FlexWord speech recognition. recognizer The part of the system that compares caller input to a grammar in order to correctly match (identify) the caller input. record See “database record.” recovery The process of using copies of the Intuity CONVERSANT system software to reconstruct files that have been lost or damaged. See also “restore.” remote database Information stored on a system other than the Intuity CONVERSANT system that can be accessed by the Intuity CONVERSANT system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 872 Glossary remote maintenance circuit card remote maintenance circuit card An Intuity CONVERSANT system circuit card, available with a built-in modem, that allows remote personnel (for example, field support) to access all Intuity CONVERSANT system machines. This card is standard equipment on all new MAP/100, MAP/40, and MAP/5P purchases. REN ringer equivalence number reports administration The component of Intuity CONVERSANT system that provides access to system reports, including call classification, call data detail, call data summary, message log, and traffic reports. restore The process of recovering lost or damaged files by retrieving them from available back-up tapes or from another disk device. See also “recovery.” restore application A utility that replaces a damaged application or restores an older version of an application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 873 Glossary reuse reuse The concept of using a component from a source system in a target system after a software upgrade or platform migration. RFS remote file sharing RM resource manager RMB remote maintenance circuit card roll back To cancel changes to a database since the point at which changes were last committed. rollback segment A portion of the database that records actions that should be undone under certain circumstances. Rollback segments are used to provide transaction rollback, read consistency, and recovery. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 874 Glossary RTS RTS request to send S SBC sub-band coding screen pop A method of delivering a screen of information to a telephone operator at the same time a telephone call is delivered. This is accomplished by a complex chain of tasks that include identifying the calling party number, using that information to access a local or remote ORACLE database, and pulling a “form” full of information from the database using an ORACLE database utility package. script The set of instructions for the Intuity CONVERSANT system to follow during a transaction. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 875 Glossary Script Builder Script Builder An optional software package that provides a menu-oriented interface designed to assist in the development of custom voice response applications on the Intuity CONVERSANT system (see also “Voice@Work”). SCSI small computer system interface SDLC synchronous data link control SDN software defined network shared database table A database table that is used in more than one application. shared speech Speech that is a part of more than one application. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 876 Glossary shared speech pools shared speech pools A parameter that allows the user of a voice application to share speech components with other applications. SID station identification signal processor circuit card (AYC2, AYC2B, AYC2C, or AYC9d) A speech processing circuit card that is an older, lower-capacity version of the speech and signal processor (SSP) circuit card (AYC43). SIMMs single inline memory modules single inline memory modules A method of containing random access memory (RAM) chips on narrow circuit card strips that attach directly to sockets on the CPU circuit card. Multiple SIMMs are sometimes installed on a single CPU circuit card. single-threaded application An application that runs on a single voice channel. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 877 Glossary slave slave A circuit card that depends on the TDM bus for clock information. SLIP serial line interface protocol small computer system interface A disk drive control technology in which a single SCSI adapter circuit card plugged into a PC slot is capable of controlling as many as seven different hard disks, optical disks, tape drives, etc. SNA systems network architecture SNMP simple network management protocol software The set or sets of programs that instruct the computer hardware to perform a task or series of tasks — for example, UnixWare software and the Intuity CONVERSANT system software. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 878 Glossary software upgrade software upgrade The installation of a new version of software in which the existing platform and circuit cards are retained. source system The system from which you are upgrading (that is, your system as it exists before you upgrade). speech and signal processor circuit card (AYC43) The high-performance signal processing circuit card introduced in V6.0 capable of simultaneous support for various speech technologies. speech energy The amount of energy in an audio signal. Literally translated, it is the output level of the sound in every phonetic utterance. speech envelope The linear representation of voltage on a line. It reflects the sound wave amplitude at different intervals of time. This envelope can be plotted on a graph to represent the oscillation of an audio signal between the positive and negative extremes. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 879 Glossary speech file speech file A file containing an encoded speech phrase. speech filesystem A collection of several talkfiles. The filesystem is organized into 16-Kbyte blocks for efficient management and retrieval of talkfiles. speech modeling The process of creating WholeWord speech recognition algorithms by collecting thousands of different speech samples of a single word and comparing them all to obtain a statistical average of the word. This average is then used by a WholeWord speech recognition program to recognize a single spoken word. speech space An area that contains all digitized speech used for playback in the applications loaded on the system. speech phrase A continuous speech segment encoded into a digital string. speech recognition The ability of the system to understand input from callers. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 880 Glossary SPIP SPIP signal processor interface process SPPLIB speech processing library SQL structured query language SR speech recognition SSP speech and signal processor circuit card (AYC43) standard speech The speech package available in several languages containing simple words and phrases produced by Lucent Technologies for use with the Intuity CONVERSANT system. This package includes digits, numbers, days of the week, and months, each spoken with initial, medial, and falling inflection. The speech is in digitized files stored on the hard disk to be used in voice prompts and messages to the caller. This feature is also called enhanced basic speech. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 881 Glossary standard vocabulary standard vocabulary A standard package of simple word speech models provided by Lucent Technologies and used for WholeWord speech recognition. These phrases include the digits “zero” through “nine,” “yes,” “no,” and “oh,” or the equivalent words in a specific local language. string A contiguous sequence of characters treated as a unit. Strings are normally bounded by white spaces, tabs, or a character designated as a separator. A string value is a specified group of characters symbolized by a variable. structured query language A standard data programming language used with data storage and data query applications. subword technology A method of speech recognition used in FlexWord recognition that recognizes phonemes or parts of words. Compare to “WholeWord speech recognition.” switch A software and hardware device that controls and directs voice and data traffic. A customer-based switch is known as a “private branch exchange.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 882 Glossary switch hook switch hook The device at the top of most telephones that is depressed when the handset is resting in the cradle (in other words, is on hook). The device is raised when the handset is picked up (in other words, when the telephone is off hook). switch hook flash A signaling technique in which the signal is originated by momentarily depressing the “switch hook.” switch interface administration The component of the Intuity CONVERSANT system that enables you to define the interaction between the Intuity CONVERSANT system and switches by allowing you to establish and modify switch interface parameters and protocol options for both analog and digital interfaces. switch network Two or more interconnected telephone switching systems. synchronous communication A method of data transmission in which bits or characters are sent at regular time intervals, rather than being spaced by start and stop bits. Compare to “asynchronous communication.” Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 883 Glossary SYS SYS UNIX system calls message class sysgen system generation System 75 An advanced digital switch supporting up to 800 lines that provides voice and data communications for its users. System 85 An advanced digital switch supporting up to 3000 lines that provides voice and data communications for its users. system administrator The person assigned the responsibility of monitoring all Intuity CONVERSANT system software processing, performing daily system operations and preventive maintenance, and troubleshooting errors as required. system architecture The manner in which the Intuity CONVERSANT system software is structured. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 884 Glossary system message system message An event or alarm generated by either the Intuity CONVERSANT system or end-user process. system monitor A component of the Intuity CONVERSANT system that tests to verify that each incoming telephone line and its associated Tip/Ring or T1 circuit card is functional. Through the “System Monitor” component, you are able to see displays of the Voice Channel and Host Session Monitors. T T1 A digital transmission link with a capacity of 1.544 Mbps. table See “database table.” tag image file format A format for storing and exchanging digital image data associated with fax modem data transfers and other applications. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 885 Glossary talkfile talkfile An ASCII file that contains the speech phrase tags and phrase tag numbers for all the phrases of a specific application. The speech phrases are organized and stored in groups. Each talkfile can contain up to 65,535 phrases, and the speech filesystem can contain multiple talkfiles. talkoff The process of a caller interrupting a prompt, so the prompt message stops playing. target system The system to which you are upgrading (that is, your system as you expect it to exist after you upgrade). TAS transaction assembler script TCC Technology Control Center TCP/IP transmission control protocol/internet protocol Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 886 Glossary TDM TDM time division multiplexing TE terminal emulator telephone network connection The point at which a telephone network connection terminates on an Intuity CONVERSANT system. Supported telephone connections are Tip/Ring, T1, and E1. terminal emulator Software that allows a PC or UNIX process to look like a specific type of terminal. In particular, it allows the Intuity CONVERSANT system to temporarily transform itself into a “look alike” of an IBM 3270 terminal. In addition to providing full 3270 functionality, the terminal emulator enables you to transfer files to and from UNIX. text-to-speech An optional feature that allows an application to play US English speech directly from ASCII text by converting that text to synthesized speech. The text can be used for prompts or for text retrieved from a database or host, and can be spoken in an application with prerecorded speech. text-to-speech application development is supported through Voice@Work and Script Builder. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 887 Glossary ThickNet ThickNet A 10-mm (10BASE5) coaxial cable used to provide interLAN communications. ThinNet A 5-mm (10BASE2) coaxial cable used to provide interLAN communications. TIFF tag image file format time-division multiplex A method of serving a number of simultaneous channels over a common transmission path by assigning the transmission path sequentially to the channels, with each assignment being for a discrete time interval. Tip/Ring Analog telecommunications using four-wire media. token ring A ring type of local area network that allows any station in the network to communicate with any other station. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 888 Glossary trace trace A command that can be used to monitor the execution of a script. traffic The flow of information or messages through a communications network for voice, data, or audio services. transaction The interactions (exchanges) between the caller and the voice response system. A transaction can involve one or more telephone network connections and voice responses from the Intuity CONVERSANT system. It can also involve one or more of the system optional features, such as speech recognition, 3270 host interface, FAX Actions, etc. transaction assembler script The computer program code that controls the application operating on the voice response system. The code can be produced from Voice@Work, Script Builder, or by writing directly in TAS code. transaction state machine process A multi-channel IRAPI application that runs applications controlled by TAS script code. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 889 Glossary transient process transient process A process that is created dynamically only when needed. TRIP Tip/Ring interface process troubleshooting The process of locating and correcting errors in computer programs. This process is also referred to as debugging. TSO Technical Services Organization TSO time share operation TSM transaction state machine process TTS text-to-speech Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 890 Glossary TWIP TWIP T1 interface process U UK United Kingdom US United States of America UNIX Operating System A multiuser, multitasking computer operating system originally developed by Lucent Technologies. UNIX shell The command language that provides a user interface to the UNIX operating system. upgrade scenario The particular combination of current hardware, software, application and target hardware, software, applications, etc. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 891 Glossary usability usability A measurement of how easy an application is for callers to use. The measurement is made by making observations and by asking questions. An application should have high usability to be successful. USOC universal service ordering code UVL unified voice library V VDC video display controller vi editor A screen editor used to create and change electronic files. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 892 Glossary virtual channel virtual channel A channel that is not associated with an interface to the telephone network (Tip/Ring, T1, LSE1/LST1, or PRI). Virtual channels are intended to run “data-only” applications which do not interact with callers but may interact with DIPs. Voice or network functions (for example, coding or playing speech, call answer, origination, or transfer) will not work on a virtual channel. Virtual channel applications can be initiated only by a “virtual seizure” request to TSM from a DIP. vocabulary A collection of words that the Intuity CONVERSANT system is able to recognize using either WholeWord or FlexWord speech recognition. vocabulary activation The set of active vocabularies that define the words and wordlists known to the FlexWord recognizer. vocabulary loading The process of copying the vocabulary from the system where it was developed and adding it to the target system. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 893 Glossary Voice@Work Voice@Work An optional software package that provides a graphical interface to assist in development of voice response applications on the Intuity CONVERSANT system (see also “Script Builder”). voice channel A channel that is associated with an interface to the telephone network (Tip/Ring, T1, E1, LSE1/LST1, or PRI). Any Intuity CONVERSANT system application can run on a voice channel. Voice channel applications can be initiated by being assigned to particular voice channels or dialed numbers to handle incoming calls or by a “soft seizure” request to TSM from a DIP or the soft_szr command. voice processing co-marketer A company licensed to purchase voice processing equipment, such as the Intuity CONVERSANT system, to market and sell based on their own marketing strategies. voice response output process A software process that transfers digitized speech between system hardware (for example, Tip/Ring and SSP circuit cards) and data storage devices (for example, hard disk, etc.) Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 894 Glossary voice response unit voice response unit A computer connected to a telephone network that can play messages to callers, recognize caller inputs, access and update a databases, and transfer and monitor calls. voice system administration The means by which you are able to administer both voice- and nonvoice-related aspects of the system. VPC voice processing co-marketer VROP voice response output process VRU voice response unit Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 895 Glossary W warning warning An admonishment or advisory statement used in Intuity CONVERSANT system documentation to alert the user to the possibility of equipment damage. WholeWord speech recognition An optional feature, available in several languages, based on whole-word technology that can recognize the numbers one through zero, “yes”, and “no” (the key words). This feature is reliable, regardless of the individual speaker. This feature can identify the key words when spoken in phrases with other words. A string of key words, called connected digits, can be recognized. During the prompt announcement, the caller can speak or use touch tones (or dial pulses, if available). See also “wholeword technology.” whole-word technology The ability to recognize an entire word, rather than just the phoneme or a part of a word. Compare to “subword technology.” wink signal An interruption of current to a busy lamp indicating that there is a line on hold. word A unique utterance understood by the recognizer. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 896 Glossary wordlist wordlist A set of words available for FlexWord recognition by an application during a Prompt & Collect action step. word spotting The ability to search through extraneous speech during a recognition. Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 897 Index Symbols *DNIS_SVC 490, 540 A A_Callinfo action step 491 A_Event action step 505 A_RouteSel action step 519 A_Tran action step 497 accessing Script Builder 34 Speech Administration 638 Acrobat Reader adjusting the window size liii hiding and displaying bookmarks liii navigating liv printing from liv searching liv setting the default magnification liii action data field 407 action steps, manipulating 217 adaptive differential pulse code modulation (ADPCM) for message coding 368 adding applications 37 Adjunct/Switch Application Interface (ASAI) Script Builder action steps A_Callinfo 491 A_Event 505 A_RouteSel 519 A_Tran 497 using with Script Builder 489 Announce action step 233 versus Prompt & Collect 237 Answer Phone action step 240 answer supervision 367 for Full CCA call bridge 343 with intelligent call bridge 340 with intelligent Make Call 359 with intelligent transfers 321 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 898 Index applications adding 37 assigning functions 16 backing up 685 components sequence of defining 8 defining 8, 39 developing procedure 7 installing 15, 673 multilingual 762, 765 multiple execution 697 naming conventions 38 removing 681 requirements 7 restoring 691 samples custom phrases 794 database tables and fields 798 host interface screen 797 host session maintenance 778 parameters 796 standard phrases 781 transaction fields 799 transaction outline 767 selecting 36 testing 16 tracing 487 verifying 15, 674 B ASCII character set mapping 761 Attr_ANI external function 542 audio jack 646, 652 automatic call distributor (ACD) for Script Builder FAX Actions 434 automatic number identification (ANI) with ASAI 489 with PRI 539 B Background action step 330 backing up applications 685 barge-in SR_Prompt external action 419 blind Call Bridge 339 broadcast mailing list 473 broadcasting faxes 482 business hours parameter 178 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 899 Index C C code excited linear prediction (CELP) for message coding 368 Call Bridge action step blind Call Bridge 339 defining 334 Full CCA 343 intelligent Call Bridge 340 WholeWord recognition 419 Call Classification Analysis (CCA) defining 535 see also Full CCA call data events 182 limitations 186 specifying 184 call progress tone detection for Full CCA call bridge 343 for Full CCA Make Call 363 for Full CCA transfer 323 for intelligent call bridge 340 for intelligent Make Call 359 for intelligent transfers 321 char field type 47 Comment action step 242 comparing data 73 Complete external function 325 computing data 71 Concat5 action step 442, 455 Confirm action 290, 407, 412, 419 Converse Data Return action step Data-Passing parameters 528 Data-Return parameters 530 defining 525 tips 534 converting data 77 copying speech 660 cover page, fax 447 crontab 483 custom checklist, Prompt & Collect 285, 298 phrase tags 631 speech 636 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 900 Index D DEFARG_COUNT(n) macro 739 D data comparisons 72 computations 71 conversion 71 see also fields data interface processes (DIP) using FAX Actions 487 database adding 148 creating 147 defining 152 editing 157 field 154 record 159 removing 163 restoring 166 searching 160 sharing 165 tables 9, 144 date field type 49 DEFARG macro 738 Define Transaction screen accessing 217 expanded display 225 normal display 225 defining action steps 216 application 39 language file and directory 802 dial pulse recognition (DPR) Script Builder 401 using 409 dialed number identification service (DNIS) A_Callinfo 494 for speech administration 639 with ASAI 489 with PRI 539 Disconnect action step 244 DNIS, see dialed number identification service DPR_Disable external action 413 DprReset 412 DTMF muting 350 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 901 Index E E external functions action step 255 arguments 739 list of 713 macros 738 naming conventions 736 predefined 710 providing help 743 editing speech 656 electronic documentation, printing liv empty string 49 enhanced basic speech (EBS) description 635 library 670 sharing speech 207 error log reports, see reports Evaluate action step 245 Exec_UNIX action 443, 452 action tips 454 command string 453 performance considerations 482 return string 454 return value 454 Execute action step 351 explain command 489 extract routine 753 F fancy_print routine 756 fax broadcasting 481 converting documents to fax files 427 FAX Actions accessing 435 action choices menu 436 architecture 428 overview 425 uses 431 FAX ID 467 FAX transmission control 488 FAX_CNG action step 460 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 902 Index FAX_CovrPage action 447 action tips 449 FAX_Get action step 444 FAX_Send action step 437 FAX_Zapper modifying 479 FAX-back 472 faxit command 483, 488 FAX-on-demand 472 F fields 42 assigning a field value 50 caller input formats 53 char type 47 data manipulations 71 date type 49 field format 43, 51 field name 42 field type 42, 47 field value 42, 49 formats for caller input 53 host input formats 58 how to move through fields 33 initial field value 49 introduction 32 num type 48 setting a field value 50 spoken output formats 53 spoken output inflection 53 storing data 42 system fields 45 time type 49 fixed point value 59 FlexWord speech recognition 422 floating point value 59 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 903 Index Form Filler Plus actions 549 application, customizing 547 error handling capabilities 548 template 569 using with Script Builder 547 G hfree command 679 hnewscript command 678 holidays 188 full Call Classification Analysis (full CCA) Call Bridge 343 call dispositions 535 Make Call 363, 366 function keys for Script Builder 27 G Get Host Screen action step 136, 258 get_ucid external function 732 get_uui external function 733 Goto Label action step 265 graphic files 464 H help screens 487 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 904 Index host interface adding screen identifier 108 applications shared 204 capture 87 changing screen field definition 124 screen type 110 defining 82 display screen field 122 exclude screen identifier 108 host screen 84 introduction 8 keyboard mapping 89 Logical Unit availability 195 LU login IDs / passwords 196 naming snapshots 93 parameter 191 regular screen identifier 108 remove screen field 125 removing screen 111 removing screen identifier 110 removing snapshots 99 rename screen field 124 renaming screen 110 reserving an LU 196 screen identifiers 100 screen name 96 I host interface, (continued) screen type 97 snapshots 87, 91 specifying parameters 197 host session maintenance 125 action steps 131 labels 129 login sequence 137 logout sequence 137 recocery sequence 137 script rules 134 sequence flow 131 tips 138 hours, business 178 I identify similar host screens 746 importing speech 661 inflections speech 632 input mode specifying 405, 410, 416, 423 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 905 Index L installing applications 676 error messages received 697 FAX_Zapper 476 multiple applications 697 local database table 149 intelligent Call Bridge 340 call transfer 725 Make Call 359 login 129 ISDN external functions ISDN_billing 540 ISDN_service 543 ixfer 726 locating external Host fields 751 logger 489 logging FAX transmissions 485 logout 129 M mailbox 472 Make Call action step 357 Full CCA 363, 366 intelligent 359 manipulating data 77 L mapping datatypes 760 Label action step 267 Max Destination Length 459 languages FlexWord speech recognition 422 implementations 801 WholeWord speech recognition 415 maximum number of digits parameter for DPR 411 for FlexWord 424 for WholeWord 417 language-specific structure 764 LOADing the FAX 468 menus using 23 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 906 Index Message Coding action step 367 channel capacities 370 performance 369 N O operands 73 Message Deleting action step 383 minimum number of digits parameter for DPR 411 for FlexWord 424 for WholeWord 417 P pack_phrNX function 730 mkcv command 455, 456 parameters introduction 10 mkimage tape 646, 668, 689 performance 481 Modify Table action step 269 phrase tags 630 adding 643 displaying 640 predefined 631 multilingual applications 762 N naming applications 38 new_screen routine 753 null field value 49 num field type 48 phrases manipulating 730 playing speech 659 pre-defined "char" field manipulation 722 "time" and "date" functions 728 Call Transfer functions 727 phrase tags 631 predefined external functions 710 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 907 Index Q Primary Rate Interface (PRI) with Script Builder 538 recognition type 281, 410, 416, 423 PRINTing the FAX 470 Reconnect external function 325 professionally recorded speech 671 recover sequence 130 Prompt & Collect action step caller input parameters 275 Confirm action 290, 407 custom checklist 418 defining 273 for FAX Actions 463 page 1 - prompt 274 page 2 - input 275, 406 page 3 - checklist 281 tips 301 transfer to 301 versus Announce 237 remote database table 151 recognizer field, for Prompt and Collect 280 removing applications 681 speech 664 reports error log 489 requirements application 7 restoring applications 478, 691 speech 668 return values 459, 487 Get Host Screen 262 multilingual applications 765 Q Quit action step 305 R Read Table action step 306 recog_dip 409 River Bank 4, 12, 17, 178 S sb_te command 679 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 908 Index sb_trace command 679 SBFAX_demo 472, 478 screens components of 26 using 23 Script Builder accessing 34 action return values 487 definition 2 user interface 23 using advanced features 709 Search field 471 seasonal greetings 200 S speech administration 638 copying 660 editing 656 energy detection 321, 323, 340, 343, 359, 363 importing 661 introduction 13 playing 659 pools 207 professionally recorded 671 removing 664 restoring 668 sharing 666 Set Field Value action step 316 speech recognition return values 408 Script Builder 401 set_uui external function 733 spres command 646, 668, 689 shared speech 207, 666 spsav command 646, 668, 689 shell script 452 SR_Prompt external action 419 SP_Allocate external action 402 standard checklist of Prompt & Collect 282, 297 phrase tags 631 speech 670 Send Host Screen action step 136, 312 speak with interrupt 233 special characters 227 String1-5 parameters, for Concat5 458 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 909 Index sub-band coding (SBC) SBC16 368 SBC24 368 system fields 45 mailbox 472 variables 45, 455 systems online help support xlviii T Text-to-Speech Announce action step 392 external action 397 field format 394 Prompt & Collect action step 392 tips 399 Text-to-Speech (TTS) Exec_UNIX tips 454 tts_file external function 397 using with Script Builder 391 TIFF Class F 464 T time field type 49 talkfiles manipulating 730 terminal emulator 87 test an application 16 text files 465, 482 text2fax external function 734 trace 487 tracing 487 transaction automating 6 example 4 introduction 11 using parameters settings 210 transfer blind 320 Full CCA 323 intelligent 321 whisper 322, 325 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 910 Index U Transfer Call action step 318 blind transfer 320 Full CCA transfer 323 intelligent transfer 321 performance 328 tips 328 V troubleshooting 486 W variables, system 45 VIEWing the FAX 470 trunk access code (TAC) 442 whisper transfer 322, 325 tts_file external function 397 WholeWord speech recognition 414 Type Ahead action step 387 windows using 23 WORKFAX 484 U unpack_phrNX function 730 user interfaces description 23 writing external functions external functions writing 736 Intuity™ CONVERSANT® System Version 7.0 Application Development with Script Builder 585-313-206 Issue 2 January 2000 911
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No Page Count : 967 Page Mode : UseOutlines Page Layout : SinglePage Creation Date : 2000:01:18 07:10:05Z Producer : Acrobat Distiller 3.02 Mod Date : 2002:01:13 18:17:15-06:00 Author : EZ Manuals Create Date : 2000:01:18 07:10:05Z Modify Date : 2002:01:13 18:17:15-06:00 Metadata Date : 2002:01:13 18:17:15-06:00 Title : I NTUITY ™ CONVERSANT ® System Version 7.0 Application Development with Script Builder Creator : EZ ManualsEXIF Metadata provided by EXIF.tools