Sie sind auf Seite 1von 75
TelAlert ™ Voice and Hardware Guide Version 5.71

TelAlert

Voice and Hardware Guide

Version 5.71

Copyrights

Copyright © 2005 - 2010 MIR3, Inc.

TelAlert™ Voice and Hardware Guide

This document is copyrighted and all rights are reserved. The distribution and sale of this product are intended for the use of the original purchaser only per the terms of the Agreement.

This document may not, in whole or part, be copied, photocopied, reproduced, translated, reduced, or transferred to any electronic medium or machine-readable form without prior written consent in writing from MIR3, Inc.

MIR3, TelAlert, IN, inEnterprise, inEnterprisePRO, inAlertCenter, inAlertCenterPRO, inCampusAlert inGovAlert, inGovAlertPRO, inSalesTalk, inTechCenter, inTechCenterPRO, inWebServices, inConnect, inConsole and Enterprise Access Control are trademarks of MIR3, Inc. All other product and company names are marks of their respective holders.

This document is the property of MIR3, Inc. and may not be distributed in any manner except with the express written permission of MIR3, Inc.

Software Version:

5.71

Document Revision:

3.0

MIR3, Inc. 3398 Carmel Mountain Road San Diego, CA 92121

Phone: 858.724.1200

Fax: 858.724.1201

Email: support@mir3.com

http://www.mir3.com

2 | TelAlert Version 5.2 Voice and Hardward Guide

Preface

The TelAlert™ Version 5.71 Voice and Hardware Guide describes how to use the TelAlert™ software. While the TelAlert Text to Speech (TTS) component is supported only on Windows platforms, it can with a TelAlert Messaging Server running on any of the major platforms (Sun Solaris, HP-UX, Windows, and Linux). The information in this document is accurate regardless of the platform used to support the TelAlert system.

This Guide does not include instructions about how to install, configure or integrate the TelAlert 6e™ system with third-party data sources.

Table of Contents

Introduction

1

1.1 Overview

1

1.2 Guide Introduction

1

1.2.1 Contents

1

1.2.2 Audience

1

1.2.3 Related Technical Documentation

1

1.3 Product Support Contact Information

1

1.4 TelAlert Solutions

from MIR3

2

1.5 Guide Conventions

2

1.5.1 File Locations

4

1.5.2 Screen Captures

4

1.6 Voice and TTS Functionality

4

Dialogic Hardware and Voice/TTS Software Installation

7

2.1 Overview

7

2.2 Introduction to Text to Speech (TTS)

7

2.3 Supported Platforms

8

2.3.1

Checking the Voice/TTS Server Version

8

2.4 Chapter Organization

8

2.5 Voice Fonts

9

2.6 Dialogic Card and TTS Software Installation

9

2.6.1 Preparing to Install the TTS Software

10

2.6.2 Installing the TTS Software Contained on the CD

16

Step 1: Install the TelAlert TTS Driver

17

Step 2: Install the TTS Software

17

Step 3: Install American English Voice Font(s)

18

2.6.3 Configuring a Custom TTS Dictionary

18

Step 1: Change the Configuration File to Enable a Dictionary

19

Step 2: Create an Empty Formatted Dictionary File

20

Step 3: Edit the Dictionary to Customize Pronunciations

20

2.7 Dialogic TTS [Port]

Definition (Local

and Slave)

21

2.7.1 Local Dialogic Ports

21

2.7.2 Slave Dialogic Ports

22

2.7.3 Remote Dialogic Ports

25

2.7.4 Phone Line Considerations

25

2.8 Testing Hardware Installation and Port Definition

25

2.8.1

Using TestComm

 

26

2.9 Advanced TTS Configurations

28

2.9.1 Use of TTS with TelAlert 6e

28

2.9.2 Embedded XML Control of TTS Voice

28

Software Configuration for Outgoing Messages

31

3.1 Overview

31

3.2 Before You Begin

31

3.2.1

Installation and Upgrade Considerations

31

3.3 Getting Started

32

3.3.1 Needed Information

32

3.3.2 General Considerations

33

3.4 Voice Notification Logic

34

3.5 Setting Up Live Voice Notification

38

3.5.1

Elements

38

3.6 Setting Up Voice Mail/Answering Machine Notification

42

3.6.1

Elements

42

3.7 Setting Up Live Voice/Voice Mail Flexibility

48

3.7.1

Elements

48

3.8 Setting Up Voice Paging Functionality

53

Software Configuration for IVR Menus

55

4.1 Overview

55

4.2 Getting Started

55

4.2.1 Needed Information

55

4.2.2 General Considerations

55

4.2.3 TelAdmin vs. telalert.ini File Configuration

56

4.2.4 Making TelAlert Re-Read its Configuration File

56

4.3 Setting Up Voice Menus

57

4.3.1 Enabling Dial-In Voice Menu Access

57

4.3.2 Configuring [User] Definitions for Voice Menus

58

4.4 TelAlert’s Default Voice Menu

60

4.4.1

Voice Menu Basics

60

Logging on to the System

60

Navigating and Customizing the Default MenuAck Voice Menu

60

4.5 Creating Custom Voice Menus

61

4.5.1 General Considerations

62

4.5.2 Menu Event Keywords

63

4.5.3 Menu Script Commands

64

4.5.4 Menu Script Examples

66

4.5.5 Disabling User Verification for Dial-In Voice Menu Access

66

4.5.6 Voice Menus and Command Line Requests

67

Appendix

MIR3 Contact Information

6 | TelAlert Version 5.2 Voice and Hardward Guide

69

69

1.1 Overview

1

1

Introduction

This chapter includes a high-level look at the TelAlert Voice and TTS (Text-To-Speech) software technologies and their supporting Dialogic hardware.

1.2 Guide Introduction

Thank you for using the MIR3 TelAlert Voice and Hardware Guide, your primary source for configuring Text to Speech (TTS), Interactive Text to Speech (ITTS) and Dialogic boards in TelAlert.

1.2.1 Contents

To help you learn how to use the TelAlert Voice and Hardware effectively, the first page of each chapter includes a bulleted table of contents summarizing the information in the chapter.

1.2.2 Audience

The TelAlert Voice and Hardware Guide is designed for use by individuals who are responsible for the configuration and administration of the TeAlert Urgent Messaging and TelAlert 6e systems.

1.2.3 Related Technical Documentation

This manual covers the physical specifications of each Engine, setting up and connecting the Engines, as well as software configuration information for the basic functionality associated with each Engine. However, the possibilities available to you for configuring your TelAlert Urgent Messaging System (as well as integration of TelAlert with other applications) are quite wide-ranging: For this reason, you will want to use this Guide in conjunction with the following manuals to gain the complete picture of TelAlert implementation possibilities:

TelAlert Administrator Guide - This detailed information on how to use recipient-related features in the TelAlert system functions. It assumes you have installed TelAlert and are ready to begin configuring and administering it.

The TelAlert Desktop Guide - This guide contains details on using the TelAlert Desktop— including TelAdmin, a GUI-based configuration tool that is included with TelAlert. TelAdmin allows you to configure TelAlert from within a graphical application rather than from a command line.

1.3 Product Support Contact Information

1.4 TelAlert Solutions from MIR3

TelAlert is a trademark of MIR3, Inc., but is referred to without trademark symbols in the remainder of this document.

1.5 Guide Conventions

This guide is written in Microsoft Word format and converted to PDF format to preserve the formatting. The following information provides you with the key to help you identify information as you navigate through this Guide:

 

Example

Purpose

Use of Monospaced Fonts

 

telalertc -i DestinationName -m "Message" Italicized text within a command line example represents a variable. In the above example, DestinationName is the invocation of an item in TelAlert’s configuration file; message represents the message text to be sent by TelAlert.

Command line text — Text representing information entered by the user at the command line or presented by TelAlert as output is shown in a monospaced font.

2001/03/16 11:50:11>Event [21]Alert Completed (23), Status: [81]Message sent, TelamonTestPage

The same monospaced font is used to represent file names, file extensions, and lines of code drawn from TelAlert files. Where a single line is too long to be represented as such, the continuation is indented. Note that long lines in the

telalert.ini file may be

continued on the next line, but you must use an ampersand (&) to do this.

Click OK.

Within procedural (how-to) text, boldface words are characters you type or elements you can click. Within overview or conceptual text, bolded words may simply represent concepts that have been highlighted to emphasize their relative importance.

1.

Go to the Add User page.

Within procedural text, numbered steps denote actions that should be followed in sequence.

Message Formatting

In this guide, message text passed on the command line is enclosed in quotation marks. This is not required in all cases, but putting your message text in quotation marks is an excellent habit, as it ensures that neither TelAlert nor any shell you might be using will read the message as anything other than a string of text to be delivered.

2 | TelAlert Version 5.2 Voice and Hardward Guide

Broken Lines in the telart.ini File

In the .ini file excerpts presented in this guide, you will sometimes see an ampersand (&) at the end of a line. This symbol tells TelAlert to treat the next line as a continuation of the preceding one.

treat the next line as a continuation of the preceding one. If you wish to break

If you wish to break a line in the .ini file so that it continues on the next line, you must place an ampersand at the end of the one line, just at the point prior to continuation. Otherwise, TelAlert will treat the continuation as a new line.

Any white space before the & character will be retained in the logically concatenated single line. Any leading white space on the continuation line will be removed.

Note that line breaks in this document due to page width do not necessarily correspond to line breaks in telalert.ini. As noted above, line breaks that occur in this document due to page width are indented on the following line.

 

Example

Purpose

"Open telalert.ini and search for

"

 

"

File names and extensions — The same monospaced font is used to represent file names and extensions.

gives the file a .bak "

extension and then

{LauraTextPager}

telalert.ini examples — Entries drawn from the TelAlert configuration file are also represented in a monospaced font.

Configuration=SkyTelNationalText Pager

PIN=4850879

 

The ellipses (

)

indicate information that

may be present in the actual telalert.ini entry but which is omitted in the example because it is not relevant here.

Click OK.

Within procedural (how-to) text, boldface words are characters you type or elements you can click. Within overview or conceptual text, bolded words may simply represent concepts that have been highlighted to emphasize their relative importance.

 

2.

Go to the Add User page.

Within procedural text, numbered steps denote actions that should be followed in sequence.

 

Click Save to save your work.

Within procedural text, bulleted text denotes available options. Within overview or conceptual text, bulleted text also denotes supporting information that is subordinate to the major topic being discussed in the Guide.

Click Cancel to exit without saving.

Example Purpose
Example
Purpose
Example Purpose The light bulb icon denotes a helpful tip. The information icon denotes reference material.

The light bulb icon denotes a helpful tip.

The information icon denotes reference material.

The note icon indicates definitions or considerations that help you understand the related task.

1.5.1 File Locations

Default TelAlert installation causes TelAlert to be installed in /usr/telalert in /tmp on UNIX systems, or in c:\Program Files\telalert on Windows. There are various subdirectories located under these main directories. While you are not required to use these defaults, all references to file locations in the TelAlert documentation assume (for simplicity of representation) that these default settings have been used. Also, this guide represents TelAlert file locations using UNIX notation; in this regard, the key difference to be noted by Windows users is the use of forward slashes instead of back slash.

You are not required to accept these defaults during installation, but all references to file locations in TelAlert documentation assume (for simplicity of representation) that these default settings have been used.

1.5.2 Screen Captures

Due to the flexibility of permissions in the TelAlert system, some of the functionality represented in the screen captures for this Guide is not always visible to, or functional for, all users. The User Interface screen captures are intended for instructional use. The system administrator determines access to specific functions using the Enterprise Access Control (EAC) role-based access functions available in the TelAlert system.

1.6 Voice and TTS Functionality

TelAlert supports two separate "speech" software technologies:

TTS (Text-To-Speech), which uses speech synthesis.

ITTS (Interactive Text –To-Speech), which allows the reciepient to respond to TelAlert

These software technologies are supported on Intel’s Dialogic telephony cards. TelAlert only supports Dialogic cards installed in Windows machines. If the TelAlert server is not a Windows machine, an additional ’slave’ Windows box, controlled by the TelAlert server, will be required.

Dialogic is now an Intel subsidiary. Dialogic does not sell its cards directly to end-users; customers must purchase Dialogic cards from a distributor or retailer. In addition customers must purchase the Dialogic drivers seperatly, the drivers do NOT come with the Dialogic boards. MIR3 recommends purchasing from a 'master' distributor that has extensive Dialogic experience; MIR3 is NOT an authorized Dialogic distributor.

Dialogic does not provide technical support to end-users. MIR3 cannot provide Dialogic hardware technical support. Customers must obtain hardware support from Dialogic-authorized 'master' distributors, which again is why MIR3 recommends purchasing from an authorized Dialogic 'master' distributor with excellent technical support capability.

4 | TelAlert Version 5.2 Voice and Hardward Guide

Functions supported on Dialogic boards include:

Dialup outgoing Voice and TTS messaging

Incoming Voice and TTS IVR (Interactive Voice Response) menus

Dialogic boards do NOT support:

Dialup outgoing TDD (Telecommunications Devices for the Deaf) messaging and incoming TDD menus

Outgoing dialup pager/cellphone numeric/text messaging (analog modem)

Messaging over loudspeakers

Dialogic boards must be installed in Windows machines (although Intel/Dialogic provide some Linux drivers, certain third-party software that TelAlert uses for both Voice and TTS functionality is only supported on Windows). The Windows machine containing the Dialogic boards does NOT have to be the TelAlert server - the Dialogic boards can be managed remotely from a TelAlert server installation on another machine (either a UNIX TelAlert server, or a Windows TelAlert server that does not have room to install the Dialogic boards). Of course, this requires that certain software be installed on the Windows machine as well as on the TelAlert server.

2

2

Dialogic Hardware and Voice/TTS Software Installation

2.1 Overview

This chapter contains an overview of Dialogic cards, including hardware installation, driver installation, and choice of Voice and/or TTS software technologies.

2.2 Introduction to Text to Speech (TTS)

While wireless devices, such as cell phones and pagers, have an almost ubiquitous reach, there is still a demand to provide an additional or alternative notification pathway. A comprehensive messaging system must have a way to deliver messages in any way a device can accept it, including in a synthesized or recorded human voice. These “Voice” messages can be in the form of simple one-way announcements or more complex interactive, password-driven menu response systems.

The TelAlert Voice/TTS Server can deliver natural-sounding speech in a variety of languages. Pronunciation of non-standard or technical terms and their speed of rendering can also be finely controlled.

The TelAlert Messaging Server can be deployed on any supported operating system and controls the TelAlert Voice/TTS Server via TCP/IP. The TelAlert Voice/TTS Server requires Microsoft Windows (see Supported Platforms below), and utilizes Intel Dialogic voice drivers and hardware to interface with a PBX or the public telephone system.

For distributed networks, the TelAlert Messaging Server(s) and the TelAlert Voice/TTS Server(s) can be deployed on different machines. This provides a fault tolerant, flexible and scalable voice capability that matches the needs of today’s global business.

2.3 Supported Platforms

Required Components

Supported Platforms

TTS software

Windows NT/2000/XP

Windows Server 2003

Dialogic telephony boards (D/4PCI, D/4PCIU, or D/4PCIUF)

See the following Intel documents - Guide to Intel Dialogic System Releases, Operating Systems, and Intel Dialogic and Intel NetStructure Boards.

(http://download.intel.com/design/telecom/applnots/9861.pdf)

Dialogic System Release software (6.0 or 5.1.1)

See the following Intel documents - Guide to Intel Dialogic System Releases, Operating Systems, and Intel Dialogic and Intel NetStructure Boards,

(http://download.intel.com/design/telecom/applnots/9861.pdf)

TelAlert Messaging Server 5.71

See TelAlert 5.71 Release Notes

Please refer to TelAlert Release Notes for most current platform support information.

2.3.1 Checking the Voice/TTS Server Version

From a command window, type telalertv –version to display the program’s version information. If this version of TelAlertV has been correctly installed, the output will look like this:

telalertv_SR6(5.71):Windows 32

[etc].

2.4 Chapter Organization

Here’s a summary of TTS implementation steps covered in the following sections:

Dialogic Card Installation

Dialogic Voice/TTS Media Controller

Visual Voice Software Installation

TTS Software installation from CD

Testing Hardware Installation and Port Definition

8 | TelAlert Version 5.2 Voice and Hardward Guide

2.5 Voice Fonts

The TelAlert Voice/TTS Server now supports AT&T Natural Voices fonts that are encoded at 8K or 16K sample rates. The prior version also technically supported both 8K and 16K sample rates, but all previous voice fonts were distributed only in 16K format. TelAlert is now standardizing on 8K fonts for all new American English TTS installations. Users do not have to update old 16K fonts because the new software can dynamically switch between 8K and 16K fonts as necessary.

The following table provides a summary of available voice fonts. Fonts may be selected using either their full name or short name.

Language

Gender

Encoding

Short

Full Name

 

Name

American English

Male

8K

Mike

ATT DTNV1.4 Mike

American English

Female

8K

Crystal

ATT DTNV1.4 Crystal

American English

Male

16K

Mike16

ATT DTNV 1.4 Mike16

American English

Female

16K

Crystal16

ATT DTNV 1.4 Crystal16

Spanish

Male

16K

Alberto16

ATT DTNV 1.4 Alberto16

German

Male

16K

Reiner16

ATT DTNV 1.4 Reiner16

French

Male

16K

Alain16

ATT DTNV1.4 Alain16

Use care when specifying Voice Font names

There are inconsistencies in the naming convention used for full names. The position of spaces must exactly match the names shown in the table when using full names to reference a voice font.

Default fonts will now be used unless a full match is found for the specified font name (for example, “crystal1” was entered instead of “crystal16”).

2.6 Dialogic Card and TTS Software Installation

The TTS CD contains several separate installation programs. These can be used in various combinations to install or upgrade TelAlert TTS software on a Windows NT/2000/XP/2003 machine equipped with Dialogic telephony interface cards.

This Dialogic-equipped machine may also host the TelAlert Messaging Server software (the TelAlertE service daemon and its child processes); or this Dialogic-equipped machine may be a ‘slave’ machine running under the control of a separate machine (either Windows or Unix) that contains the TelAlert Messaging Server software.

TelAlert supports both synthesized text to speech (TTS) and pre-recorded speech (Voice) telephony technology. TTS is a superset of Voice. Therefore, the TelAlert Voice technology software must be installed before installing the TTS technology software. The Voice technology is installed automatically as part of a full installation of the TelAlert Messaging Server software on a Windows machine; or by a special “TelAlertV” InstallShield package on a “slave” Dialogic machine.

Note:

If you are migrating an existing Voice installation to TTS, or upgrading an existing TTS 5.6 installation to 5.71, modify the procedure as described below. Note that these modifications are not required if upgrading from TelAlert 5.61, only 5.6 and earlier.

In both cases, upgrade the TelAlert software to 5.71 on the TelAlert server, and on the “slave” Dialogic machine (if any). Confirm that the telalert, telalerte, telalertv, and telaconfe executables are all version 5.71.

For Voice to TTS migrations, start at Step 7B, “For Voice-TTS Migrations”.

For TTS 5.6 to 5.71 upgrades:

o

If you wish to change your voice fonts, start at Step 9: “Install TTS software using the TTS CD”. No other software should be installed from the TTS CD.

o

If you do not want to change your voice fonts, start at Step 10B, “For all cases”.

2.6.1 Preparing to Install the TTS Software

1. Install the Dialogic boards and set the board IDs as follows:

A. Prior to installing the board in a slot, make sure the board ID is set as follows:

Set the board ID to 0 if this is the first Dialogic board installed on the machine.

Set the board ID to 1 if it is the second board, to 2 if it is the third, and so on.

B. When you physically install the boards, insert the first board in the first PCI slot, the second board in the second PCI slot, and so on. Do not skip slots, but if you have to, write down the board ID and PCI slot number of each board for reference when you configure the Dialogic software.

2. After booting the machine, cancel out of the Windows “Found new hardware” wizard, if Windows started the wizard.

3. Install the Dialogic System Release (SR) software from a separate Dialogic CD.

Note: Several different driver software versions are available: You must use the correct version for your Dialogic card model and Windows version.

A. During the installation, select the following options:

When prompted for a location for the Destination Directory, the Dialogic installer will suggest installing the software on the drive specified by the “System Drive” environment variable (it may or may not be drive C:\). We strongly recommend accepting the installer’s suggested location.

When prompted, select the Compact (22 MB) setup option.

When prompted to run the Dialogic Board Configuration (DCM), leave the Run Board Configuration (DCM) box unchecked. It is recommended that you reboot before running the DCM.

B. After installing the SR software, install any SR software feature packs or service packs that are required for your operating system and board.

C. Reboot Windows, and cancel out of the Found New Hardware wizard if it appears on the screen.

4. After installing the SR software, you need to use the DCM to auto-detect the Dialogic board and create configuration data. After that, you need to setup the Dialogic system service to automatically start when the machine is rebooted.

10 | TelAlert Version 5.2 Voice and Hardward Guide

To add the board data and set the Dialogic system service to auto-start, do the following:

A. Right-click the TelAlert icon in the system tray, and select TelAlert Stop.

B. From the Start menu, select Programs > Intel Dialogic System Software > Configuration Manager-DCM.

C. In the Computer Name dialog box, select the Local computer and click Connect. To connect to a remote computer, select the Remote radio button, enter the computer name, and click Connect. For TCP/IP networks, you can enter the IP address instead of the remote computer name.

The DCM main window displays. When DCM is started with the Dialogic System Service startup mode set to manual, DCM automatically detects PCI boards and adds configuration data. Your installed boards appear in a tree structure in the main window. The icon for each board indicates that the board is not yet available, even though it is enabled (as shown via the Action menu).

To set up the Dialogic system service to automatically start when the machine is rebooted, do the following:

A. Select Service > Start Service to start the Dialogic System Service.

Each board listed should show a green light indicating that it is available, and the System Service Status should say "Running". If this is not the case, run the Universal Dialogic Diagnostics Utility (Start > Programs > Intel Dialogic System Software > Universal Dialogic Diagnostics Utility) for additional information or contact your Dialogic distributor for support.

B. Select Service > Startup Mode > Automatic to ensure the Dialogic System Service is automatically restarted whenever you reboot your machine.

C. Exit DCM, reboot your machine, and open DCM again.

Again, each board listed should show a green light indicating that it is available, and the System Service Status should say Running. If this is not the case, run the Universal Dialogic Diagnostics Utility (Start > Programs > Intel Dialogic System Software > Universal Dialogic Diagnostics Utility) for additional information or contact your Dialogic distributor for support.

5. If this machine will host the TelAlert Messaging Server software, install it (if it is not already installed). Make sure the license is either an evaluation license, or a permanent license with a non-zero number of allowed TTS Ports. (The TelAlert Messaging Server software is included on your TelAlert or Corporate Messenger CD.)

6. If the TelAlert Messaging Server software will be on another machine, do the following:

A. Install the TelAlert Messaging Server software on the other machine (if it is not already installed). Make sure the license is either an evaluation license, or a permanent license with a non-zero number of allowed TTS Ports. (The TelAlert Messaging Server software is included on your TelAlert or Corporate Messenger CD.)

B. Install the “slave” linking software on this machine so that the TelAlert Messaging Server machine can control this machine. Run the TelAlertV560.exe InstallShield package located in the TelAlertBin directory on the TelAlert or Corporate Messenger CD. (This InstallShield package is not accessible through the AUTORUN menu on the CD.) The InstallShield process will create some data files which must be transferred to the separate TelAlert Messaging Server machine. See the Voice and Hardware Guide for details.

7. Setup the Access and Port sections. For new installations, use whichever administrative method you have chosen for configuring the TelAlert Messaging Server (using TelAlert Desktop or editing

telalert.ini files).

Using TelAlert Desktop:

A. Configure the Access section to accept incoming phone calls by setting the keyword VoiceDialInAccess=True.

B. Configure the Access section to use Voice technology by setting the keyword VoiceDialInTTS=False.

C. Make sure a phone line is connected to a voice channel jack on the Dialogic board. You can connect to any jack on the board. However, the VoiceLine keyword in the Port Voice Voice1 paragraph must match the voice channel jack number to which you connect. The default VoiceLine keyword value is 1, matching the first voice channel jack.

Editing the telalert.ini file:

A. Configure the Access section to accept incoming phone calls by setting the keyword VoiceDialInAccess=True.

B. Configure the Access section to use Voice technology by setting the keyword VoiceDialInTTS=False.

C. Create and activate a Port paragraph of Model=TTS. The Types keyword value should

include Voice, TTS, Interactive Voice, and Interactive TTS.

For Voice to TTS migrations, use whichever administrative method you have chosen for configuring TelAlert Messaging Server (using TelAlert Desktop or editing telalert.ini files).

Using TelAlert Desktop:

A. Configure the Access section to accept incoming phone calls by setting the keyword VoiceDialInAccess=True.

B. Configure the Access section to use Voice technology by setting the keyword VoiceDialInTTS=False.

C. To change your existing Port(s) from Model=Voice to Model=TTS, use the following procedure:

a. Open TelAlert Desktop and connect to the TelAlert server.

12 | TelAlert Version 5.2 Voice and Hardward Guide

b. Select and open for Update the Voice port you wish to change.

and open for Update the Voice port you wish to change. Chapter 2: Dialogic Hardware and

c. Click on the Import button at the bottom of the window.

d. In the Paragragh Import window that opens, click on the Edit Imported Text tab.

e. Type in Model=TTS

Imported Text tab. e . T y p e i n Model=TTS f. Click on Preview

f. Click on Preview Import Results tab.

g. Click on Apply.

h. Click Save, Save, then OK. At this point, the Port definition is moved from under the Voice tree to the TTS node of the tree.

is moved from under the Voice tree to the TTS node of the tree. 14 |

14 | TelAlert Version 5.2 Voice and Hardward Guide

i. Select and open for Update the same port now under the TTS node.

j. Click on the Types tab.

k. Press the Ctrl key and highlight TTS and InteractiveTTS under Available Types, and then click Add.

under Available Types , and then click Add . l. Click Save , Save , then

l. Click Save, Save, then OK. The Port definition is now completely modified from Voice to TTS.

m. Repeat for all Voice ports.

Editing the telalert.ini file:

A. Configure the Access section to accept incoming phone calls by setting the keyword VoiceDialInAccess=True.

B. Configure the Access section to use Voice technology by setting the keyword VoiceDialInTTS=False.

C. Change your existing Port(s) from Model=Voice to Model=TTS.

8. Make sure a phone line is connected to the Dialogic hardware. Make a phone call to the associated Dialogic port, verify the Port is answered using (non-TTS) Voice technology.

9. Install TTS software using the provided CD (for details, see Installing the TTS Software Contained on the CD). If the Autoplay menu does not appear when the CD is inserted, do either of the following:

Right-click on the CD drive in Windows Explorer, and select Autoplay.

Run the InstallTTS.exe program in the CD’s root directory. The Autoplay menu contains four separate installation steps. Perform the steps in the order shown. As you click on each step, a separate installer will launch on top of the Autoplay menu. When each installer completes, go back to the Autoplay menu and select the next installer. When all installers have been run, close the Autoplay menu. More detail on each of these separate software installations is given in the next section of this document.

10. Using your normal administrative method:

For new TTS installs and Voice-TTS migrations, change the Access section to use TTS when answering incoming calls (VoiceDialInTTS=True).

For all cases (new TTS installs, Voice-TTS migrations, TTS 5.6 to 5.71 upgrades), set the TTS voice name (TTSDialInVoiceName) in the Access section to your preferred value selected from the voice font(s) you have installed (the TTS 5.6 practice of leaving this keyword blank to select the “default” voice is obsolete, this keyword should always have a nonblank value in 5.71). For more information on the various voice font names for instance, there are differences between the names of the fonts normally installed with 5.6 and those normally installed with 5.71; and there are both “Short Name” and “Full Name” values for each font), see Available Voice Fonts table later in this document. Also note that this keyword can optionally specify a “rate” (speed, tempo) for this voice; see TTS Rate Control under Advanced TTS Configurations later in this document.

For TTS 5.6 to 5.71 migrations, you must also update each existing Configuration of Type=TTS or InteractiveTTS to have a nonblank value for the TTSVoiceName keyword; this keyword also supports an optional rate setting.

For all cases, remember to set TTSVoiceName in all new Configurations of Type=TTS or InteractiveTTS that you create.

11. Make a phone call to the associated Dialogic port, and verify that the Port is answered using TTS technology.

2.6.2 Installing the TTS Software Contained on the CD

The following instructions provide more detail to Step 9: Install TTS software using the CD listed above. The CD contains installers for the following TTS software components:

1. TelAlert TTS Driver, includes Microsoft Speech API (SAPI).

2. Text-To-Speech Software (AT&T Natural Voices Runtime TTS Engine).

3. American English Male Voice Font (AT&T Natural Voices 8K Mike voice font) and Female Voice Font (AT&T Natural Voices 8K Crystal voice font.

These installation programs should be run sequentially in the order listed above.

Login to Windows as Administrator before running these programs.

The total disk space required by the four installation programs is approximately 685 MB.

It is only necessary to install one of the voice fonts. However, you can install multiple voice fonts. If you do, configure each voice port to answer using a specific voice font. Specific fonts for outgoing messages may be assigned in either Configuration or Destination paragraphs. Additional fonts are available. Each additional font requires a separate runtime license.

16 | TelAlert Version 5.2 Voice and Hardward Guide

Step 1: Install the TelAlert TTS Driver

This step will install Microsoft Speech API (SAPI) runtime support (if it is not already installed) and will also install the TelAlert TTS Driver. It will require approximately 60K of disk space in the TELALERTBIN directory; and up to 2.7 MB of disk space in the Windows System directory, depending on whether any Microsoft SAPI components are already installed.

Purpose

Microsoft SAPI provides a standard way for TTS software to interface with applications. The TelAlert TTS Driver is used by the TelAlertV process to interface the AT&T Natural Voices Runtime Software with the Dialog integration. The TelAlert TTS Driver and TelAlertV process use SAPI to communicate with the AT&T Natural Voices Runtime Software.

Installation Steps

1. Click the Install TelAlert Text-To-Speech Drivers option on the TTS Install splash screen to launch the installer. This installer may also be launched by running the ‘Setup” program that is located in the TelAlert TTS Drivers directory of the TTS installation CD.

2. The Select Installation Folder page in the installation wizard will prompt for an install location. This is the location where TelAlert’s binary executables are installed, and is the path listed in the TELALERTBIN Environment variable. The default TelAlert location (“C:\Program Files\TelAlert\”) should be used in most cases.

3. Click the Next button on each subsequent wizard page to accept defaults, then press the Finish button of the final page. Click Close to exit after installation completes.

Result

A Speech icon is added to the Windows Control Panel as a result of Microsoft SAPI runtime installation. A library named SAPIVVStream.dll is installed in the TELALERTBIN directory as a result of the TelAlert TTS Driver installation.

Step 2: Install the TTS Software

Purpose

This step will install the AT&T Natural Voices Runtime Software that converts text to speech using one or more AT&T voice fonts. This step will also install a Dictionary Editor program (named WinDictEdit.exe) that is used to modify the pronunciation of specific words or acronyms.

Installation Steps

1. Click the Install Text-To-Speech Software option on the TTS Install splash screen to launch the installer. This installer may also be launched by running the ‘Setup” program that is located in the ATT NaturalVoices Runtime directory of the TTS installation CD

2. Click the Next button on each subsequent wizard page to accept defaults, then press the Finish button of the final page. Click Close to exit after installation completes.

Result

The AT&T Natural Voices Runtime Software is installed. A new sub-menu named “AT&T Natural Voices 1.4” is added to the Windows Start menu. This submenu contains a shortcut to the Dictionary Editor program.

Step 3: Install American English Voice Font(s)

Purpose

The ATT NaturalVoices Runtime software can generate speech using a variety of distinctive voices varying in gender; intonation/pitch [tenor, baritone], and language. An individual combination of gender, intonation/pitch, and language is referred to as a voice font. This step will install the selected voice font(s).

Note: This step will take more time than the previous steps, due to the amount of data copied from the CD to your hard disk. The voice font installation will require approximately 190 MB of disk space for each installed voice font.

Installation Instructions

1. Click the Install American English Male Voice Font (Mike) option or the Install American English Female Voice Font (Crystal) option from the TTS Install splash screen to launch the installer. At least one Voice Font must be installed. Additional fonts are available, but are not included on the CD.

2. Click the Next button on each subsequent wizard page to accept defaults, then press the Finish button of the final page.

Result

The selected voice font(s) will be available for use. The voice font installation can be verified by launching the properties dialog from the Windows Control Panel and selecting the Text To Speech tab. The full name for the Mike font is ATT DTNV1.4 Mike. This name should be listed in the Voice selection combo box. The Voice selection combo box may be used for testing the voice using the PC’s audio device (sound card and speaker, if the PC has audio hardware installed. It is not necessary for the PC to have audio hardware for TTS to work; and it is not possible to use the Dialogic card for testing through the Control Panel). Any settings you make to test voice in this way (default voice font, speech rate) will not affect the TelAlert TTS voice settings.

The voice font can be played on the PC’s audio device (sound card) by pressing the Preview Voice button. The Audio Output… can be used to select a specific output device for testing; this button has no effect when using TelAlert is running.

Note: This dialog will not function properly while TelAlert is started with TTS ports enabled because TelAlert will take control of the PC’s voice resources.

2.6.3 Configuring a Custom TTS Dictionary

In general, the AT&T NaturalVoices voice font data contains extremely detailed rules for pronouncing words; that’s why the 8K voice font files average 190MB, and the 16K files average 600MB. Therefore, customization of pronunciation is usually not necessary. However, your installation may have a few words (proper names for people or equipment locations, or acronyms such as the name of your company) whose pronunciation you wish to “fine-tune”. This section provides instructions for setting up a dictionary that is used to customize such pronunciation. A summary of the steps is as follows:

1. Change the configuration file to enable a dictionary. Do this only once.

2. Create an empty formatted dictionary file. Do this only once.

3. Edit the dictionary to customize pronunciations. Do this as often as needed.

18 | TelAlert Version 5.2 Voice and Hardward Guide

Step 1: Change the Configuration File to Enable a Dictionary

The AT&T Natural Voices Runtime Software uses a configuration file named tts.cfg to store TTS software configuration data. This data includes both properties associated with specific voice fonts, and properties that apply to all fonts for a specific “language dialect”, such as English-USA. This configuration file can be found in the following default location:

x:\Program Files\ATTNaturalVoices\TTS1.4\Desktop\data\

This step describes how to make a one-time change of the AT&T configuration file to specify that one or more “user” exception dictionaries will be used (a separate dictionary is required for each language dialect). This configuration file change can be done via a TelAlert-provided program, or by manual editing of the tts.cfg file.

Note: Whether you use AddWinDict.exe or manually edit tts.cfg, do this step only once, prior to the first time you run the WinDictEdit.exe program.

To change the configuration file using the TelAlert-provided, do the following:

1. Locate the AddWinDict.exe program in the TELALERTBIN directory.

2. Launch AddWinDict.exe and select the language dialect that you want to associate with the custom dictionary.

Do one of the following:

If a dictionary is already assigned for the selected language dialect, the current dictionary path and name will appear in the edit box labeled Dictionary name. In this case, you can exit AddWinDict.exe without needing to make any changes.

If no dictionary is already assigned, press the Set default button to set the Dictionary path\name to a value that is appropriate for the selected language (For example:

en_us\tts_en_us.dict. Notice that this path is RELATIVE to the path for the location of the tts.cfg file).

Press the Apply button to save the dictionary name, and then exit AddWinDict using the red “X” icon in the upper right corner; or press the OK button to simultaneously save the name and exit the application.

Instead of using the AddWinDict.exe program, the tts.cfg file can optionally be manually edited to enable custom dictionaries. The following is an example of the tts.cfg file contents in a system that has the Mike8 voice font installed.

Language

LanguageLocale

LanguageDictionary

LanguageTextAnalysis

UserDictionary

en_us en_us en_us\en_us.dict att_darpabet_english en_us\fe_en_us.dll en_us\tts_en_us.dict

Voice

mike_8k

VoiceName

Mike

VoiceData

en_us\mike\mike.dat

VoiceAudio

en_us\mike\dbg711uc archive

VoiceLanguage

en_us

VoiceDefault

true

The UserDictionary definition in the above example needs to be inserted into the file to enable the custom dictionary. Use any text editor (such as Windows Notepad) to add this line to the file.

Step 2: Create an Empty Formatted Dictionary File

This procedure describes how to create a specially-formatted disk exception dictionary file for each language. To do so, you use the AT&T Natural Voices Dictionary Editor (WinDictEdit.exe) that is installed by AT&T Natural Voices Runtime Software installer. The following procedure describes how to create an empty dictionary file:

Note: TelAlert TTS ports must not be active while using the Dictionary Editor program (either stop TelAlert or Deactivate TTS ports while using the program).

1. Launch the Dictionary Editor program from the AT&T Natural Voices 1.4/Desktop sub-menu of the Windows Start menu. If your Start menu does not have an entry for this program, locate the x:\Program Files\ATTNaturalVoices\TTS1.4\Desktop\bin directory, and run WinDictEdit.exe located in that directory.

2. Select the Save option from the File menu. This will display the Save As dialog.

3. Use the Save in combo box to navigate to the language specific subdirectory associated with the dictionary (example: en_us).

4. Type the dictionary name in the File name edit box. This is the name that was specified in the Dictionary name edit box of the AddWinDict application, or that you manually added when editing tts.cfg (example: tts_en_us.dict).

5. Press the Save button to create the dictionary file.

Step 3: Edit the Dictionary to Customize Pronunciations

As often as needed, edit the dictionary to customize pronunciations. This is also done by using the Dictionary Editor program (WinDictEdit.exe) that is installed by the AT&T Natural Voices Runtime Software installer.

The help system for the Dictionary Editor provides instructions for changing the pronunciation of a word. The help file is named wdehelp.chm and is located in the same directory as WinDictEdit.exe.

20 | TelAlert Version 5.2 Voice and Hardward Guide

2.7 Dialogic TTS [Port] Definition (Local and Slave)

Creating these definitions is covered in detail in Chapter 5: The Role of Ports in TelAlert in the TelAlert Administrator Guide. The following is a summary of the basics. If you have not already installed TelAlert, do so now using the instructions in the TelAlert Quick Start Guide. During the installation, you will be prompted for the information to set up the first Dialogic [Port], which you can then clone per the instructions below to provide additional [Port] definitions.

2.7.1 Local Dialogic Ports

For LOCAL Dialogic ports (where the Dialogic card is physically installed in the TelAlert server machine), using your preferred configuration method (editing telalert.ini; TADesktop’s TelAdmin tool; or TE’s TelaWeb GUI), create or update the [Port] definition to be similar to this:

{Dialogic1} Active=True Model=Voice Types=Voice, InteractiveVoice

VoiceLine=1

#see vvoice32.ini regarding LineDroppedTone

LineDroppedTone=0

Modify the VoiceLine= value as appropriate for your particular allocation of ports on the Dialogic card. If you using multiple ports on the Dialogic Card with TelAlert, simply clone this entry and modify both the {Dialogic1} name and VoiceLine= value as appropriate.

The definition above is for Voice, as indicated by the keyword values Model=Voice and

Types=Voice,InteractiveVoice; a TTS definition has Model=TTS and Types=Voice,InteractiveVoice,TTS,InteractiveTTS. TTS is a superset of Voice, so

with Model=TTS, you actually have a choice of any combination of four Type= values: TTS, InteractiveTTS, Voice, and InteractiveVoice. This allows a single TTS port to be used both for current TTS (voice synthesis) speech tasks, and also for older integration or menu scripting tasks that utilize special prerecorded Vo ice files that have not been upgraded to TTS. Also note that it is OK to have some ports on a multiport Dialogic card be Voice (only), some ports TTS (and Voice), and other ports used by applications other than TelAlert; the maximum number of Dialogic ports that can be utilized by TelAlert is equal to the sum of the [License]

VoicePorts= and TTSPorts= keyword values.

There are several [Port] keywords you may want to set in certain circumstances; these are discussed in The Role of Ports in TelAlert chapter in the TelAlert Administrator Guide. For instance, if you have multiple Dialogic ports, you may want to categorize them (between outgoing and incoming calls, etc.) using the Class= and BackupClass= keywords. Also, if you have multiple ports, you may want to set TelAlert to deactivate a port that is encountering repeated errors, while if you have a single port, you may NOT want deactivation to occur; this is controlled by the ConnectErrorXXX= and DialingErrorXXX= keywords. If some ports go through a PBX while others are direct telco lines, you will need PhonePrefixes= lines referencing two distinct

[PhonePrefixes] sections.

2.7.2 Slave Dialogic Ports

For SLAVE Dialogic ports (where the Dialogic card is NOT physically installed in the TelAlert server machine), the initial definitions are created as part of the 'TelAlertV' InstallShield process discussed above. If you subsequently add additional slave Dialogic ports, you will need to create their definitions manually. For instance, suppose you initially configured port 1 on a 4-port Dialogic card, and now you want to add ports 2 through 4:

On the Slave Windows Machine:

1. Edit the 'services' file (which is located IN %SystemRoot%\system32\drivers\etc\ services). This file may have a large block of entries that looks like this:

telainetdstart

25360/tcp

# TelaInetD Server Startup

telaconfstart

25367/tcp

# TelaConf Server Startup

telalertstart

25368/tcp

# TelAlert Server Startup

telainetd

25370/tcp

# TelaInetD Server

telaaguig

25372/tcp

# TelAlert AdminGUI-G

telaaguim

25373/tcp

# TelAlert AdminGUI-M

telaaguis

25374/tcp

# TelAlert AdminGUI-S

telaagui

25375/tcp

# TelAlert AdminGUI

telaremt

25376/tcp

# TelAlert Remote

telaconf

25377/tcp

# TelaConf Server

telalert

25378/tcp

# TelAlert Server

telalertv1

25379/tcp

# TelAlertV

or maybe just a line or two like this:

telalertv1

25379/tcp

# TelAlertV

Either way, you need to clone the LAST line for EACH additional port. Each cloned line should increment both the service NAME suffix (telalertv1) and the socket number (25379) by 1.

telalertv2

25380/tcp

# TelAlertV

telalertv3

25381/tcp

# TelAlertV

telalertv4

25382/tcp

# TelAlertV

1. In the TelAlert installation directory (usually c:\program files\telalert), edit the inetd.conf file. This file has some lines that are 'wide' (over 132 characters per line), so be CERTAIN to use a TEXT editor, NOT a word processor that will attempt to 'wrap' wide lines. The file will have a block of entries that looks like this:

telaaguig stream

"c:\Program Files\TelAlert\AdminGUI.exe" admingui -inetd -form telaconfg.n1f

tcp

nowait

Administrator

telaaguim stream tcp nowait Administrator "c:\Program Files\TelAlert\AdminGUI.exe" admingui -inetd -form telaconfm.n1f

telaaguis stream

"c:\Program Files\TelAlert\AdminGUI.exe" admingui -inetd -form telaconfs.n1f

tcp

nowait

Administrator

telaagui stream

"c:\Program Files\TelAlert\AdminGUI.exe" admingui -inetd -form telaconf.n1f

tcp

nowait

Administrator

22 | TelAlert Version 5.2 Voice and Hardward Guide

telalertv1 stream tcp nowait Administrator "c:\Program Files\TelAlert\TelAlertV.exe" telalertv -remote -dir

c:\Program Files\TelAlert c:\Program Files\TelAlert c:\Program Files\TelAlert c:\Program Files\TelAlert -file telalert%d.vap vvoice32.ini -log 0 75000 telalertv1.log

telalertv1.bak

Again, the line starting with 'telalertv1' and ending in 'telalertv1.bak' is a SINGLE line. You will need to clone the LAST line for EACH additional port. In each cloned line, there are three fields that contain the text 'telalertv1' (the initial entry name, and the two logfile names at the end); these fields must be replaced with telalertv2, etc. For instance, to add Dialogic port 2:

telalertv2 stream tcp nowait Administrator "c:\Program Files\TelAlert\TelAlertV.exe" telalertv -remote -dir c:\Program Files\TelAlert c:\Program Files\TelAlert c:\Program Files\TelAlert c:\Program Files\TelAlert -file telalert%d.vap vvoice32.ini -log 0 75000 telalertv2.log telalertv2.bak

2. Repeat this for ports 3 and 4.

3. To have the telainetd background service daemon recognize that it is now responsible for creating additional media controller processes, at a command prompt, execute the commands

telainetd -stop telainetd -start

On the UNIX machine:

2.

Edit the /etc/services file, making the same changes as were made above to the

%SystemRoot%\system32\drivers\etc\services file on the slave Windows

machine.

4.

Add additional [Port] definitions to the TelAlert configuration. Again, these definitions must PRECEDE all 'local' port definitions. If you are editing the telalert.ini file, insert the new definitions immediately after the existing slave Dialogic port definition; if you use TelAdmin or TelaWeb, delete all port definitions except for the existing slave Dialogic port definition, add the new slave Dialogic port definitions, and re-add the other port definitions.

For example, if you are editing telalert.ini, the existing slave Dialogic port definition should looks something like this (this is the entry that you cut-and-pasted from the dialogic_port.ini file during the original installation):

{DialogicSlave1} Active=True Model=Voice Types=Voice,InteractiveVoice Host=<<DNS name of your WINDOWS Dialogic machine>>

Service=telalertv1

VoiceLine=1

#LineDroppedTone= Access=Dialogic

5. You will need to clone this ENTIRE definition for EACH additional port. In each cloned entry, you need to increment the suffix on {DialogicSlave1}, the suffix on the Service=telalertv1 reference, and the VoiceLine= value. Make sure your cloned definitions appear in the telalert.ini file IMMEDIATELY following the original {DialogicSlave1} definition. Again, this is so that telalerte will record the port/socket numbers used by these 'slave' definitions before assigning port/socket numbers to 'local' definitions.

6. The example above is for a Voice port; for a TTS port, change the keyword Model=Voice to

Model=TTS, and change the keyword Types=Voice,InteractiveVoice to

Types=TTS,InteractiveTTS. For instance, to add port 2 in a TTS installation:

{Dialogic2} Active=True Model=TTS Types=TTS,InteractiveTTS Host=<<DNS name of your WINDOWS Dialogic machine>> Service=telalertv2

VoiceLine=2

#LineDroppedTone= Access=Dialogic

7. After making these changes on the Unix machine: if you edited telalert.ini, issue a 'telalert -compile -terse' command; if you used TelAdmin, insure that your changes were saved; and if you use TelaWeb, export the .ini files (or at least the [Access] and [Port] sections).

8. Then issue 'telalert -stop' and 'telalert -start' commands on the Unix machine. You should see status messages relating to the initialization of the Dialogic processes on the slave Windows machine. You can verify this by looking at the telalertv2.log, telalertv3.log, etc., files on the Windows machine. Notice that a -stop and a -start are required. Adding the Dialogic port(s) increases the total number of child processes that TelAlert may need to manage simultaneously, which requires increasing the size of some tables that are built at -start time.

NOTES:

There is probably a file named 'services' on the Windows machine in the TelAlert installation directory (normally c:\program files\telalert). This was the template file for your original changes to the Windows %windir%\system32\drivers\etc\ services and Unix /etc/services files. Since you've changed the actual services files, it doesn't matter whether or not you change this template.

Notice that it is not strictly necessary to set up 'services' definitions showing that telalertv2 corresponds to port/socket 25380, etc., and then reference those 'services' definitions in the Service=telalertv2, etc. lines in the cloned port definitions. Instead, you could simply directly define the port/socket number in the port definitions, for instance, Service=25380. However, it’s considered 'Best Practices' to define all reserved port/socket numbers in the 'services' file.

There is probably a file named 'dialogic_port.ini' on the Windows machine in the TelAlert installation directory (normally c:\program files\telalert). Again, this was just a template, so it doesn't matter whether or not you change it to match the cloned [Port] definitions for the additional ports you added on the Unix TelAlert server.

Normally the same [Access.Dialogic] section information can be used for all ports on the slave machine. If some ports will be reserved for incoming calls and others reserved for outgoing calls; or if some ports will use Voice technology while others use TTS technology; you may want to have separate [Access] sections.

24 | TelAlert Version 5.2 Voice and Hardward Guide

2.7.3 Remote Dialogic Ports

A Remote Dialogic port is one that is controlled by one TelAlert server, and can be 'borrowed' by another TelAlert server. For instance, suppose you have a Dialogic card installed in a San Francisco TelAlert server, and you have another TelAlert server in New York. The New York server can configure a ’Remote’ Dialogic port that will al low it to make TTS calls utilizing the San Francisco TelAlert server’s Dialogic card, regardless of whether the New York server has any Dialogic cards it manages itself.

The San Francisco server controls which other TelAlert servers can ’borrow’ its Dialogic card by putting the IP addresses of the allowed servers into the London telalert.remote file. There are no other configuration changes made on the San Francisco server. The New York server creates a port definition like this:

{SanFranciscoRemoteDialogic} Active=True Model=Remote Service=telaremt Host=DNS name or IP address of SF server

For more details, see the Setting Up a Remote Port topic in of the TelAlert Administrator Guide manual.

2.7.4 Phone Line Considerations

Each Dialogic port requires its own phone line, and these phone lines should not be shared with other equipment (data modems, desk phones). The phone lines can be either direct Telco lines, PBX lines, or a mixture; see Chapter 6: Dialing the Telephone in the Adminstrator Guide for details on configuring TelAlert to know to dial '9' for an outside line from a PBX, '1' for a domestic long-distance call, etc. Note that PBX lines must be ANALOG, not digital, lines. Make sure to plug the lines in firmly -- if the card is not precisely aligned with the rear panel cutouts, sometimes the lines will not 'click' into place, and can come loose later.

If only outgoing calls will be made, these lines can be part of a PBX 'pool'; TelAlert never needs to know its own phone number(s) or extension(s), and if no incoming calls will be made, nobody else needs to know them either. But if incoming calls will be made, you’ll need to decide whether you want to publish the individual phone numbers for each line; or establish a Telco or PBX 'hunt group' covering all of the incoming lines, and only publish the single hunt group number.

2.8 Testing Hardware Installation and Port Definition

Making outgoing TTS calls to deliver messages requi res [Configuration] definitions, covered in the next chapter. However, incoming TTS calls do not use [Configurations], and thus can be tested at this point.

The same general test procedure will work for both Voice and TTS software technologies. A few keyword settings will differ, as detailed below.

As noted earlier, Dialogic ports may reference either [Access] or [Access.Dialogic]. In this procedure documentation, [Access] will be used for simplicity.

[Access]VoiceDialInAccess must be set to True regardless of whether Voice or TTS technology is being used; which technology is being used is indicated by in the next step.

For Dialogic, [Access]VoiceDialInTTS must be set to False (default) for Voice, and True for TTS.

VoiceDialInUserRequired=True (the default) provides a better test (requires more prompts to be spoken and DTMF touch-tones to be recognized).

This example uses the default [User]{operator}, which contains the default keyword

values Password=giants and Menu=MenuAck. [Menu] {MenuAck} invokes an

external script; TelAlert provides prototype scripts in Korn shell format (menu_ack.sh and menu_ack.ksh) and in Perl format (menu_ack.pl). Insure that the [Menu] {MenuAck} definition has been updated so that its Command= keyword value reflects the script version you want to use, and its Shell= keyword value points to the matching command shell location. See [Menu] Section in the Keyword Reference chapter in the TelAlert Administrator Guide; and the Software Configuration for IVR Menus chapter in this manual, for more information on setting up external scripts for menus. If the external script is not set up properly, the call will terminate immediately after TelAlert

speaks the prompt defined by [Access] TTSMenuMessage or VoiceMenuMessage.

Dial the phone number for the Dialogic port. It should answer and speak the

VoiceDialInUsernamePrompt or TTSDialInUsernamePrompt, as appropriate. Key in

67372867#, which is the DTMF equivalent of 'operator’ with a # to terminate input. It should

then speak the VoiceDialInPasswordPrompt or TTSDialInPasswordPrompt, as

appropriate.

Key in 442687#, which is the DTMF equivalent of ’giants’ with a # to terminate input. It should then speak VoiceMenuMessage or TTSMenuMessage as appropriate, and then start speaking the prompts defined in the script called by [Menu] {MenuAck}. Once the script has begun, key in 8 to have the script terminate the call.

If the test succeeds, proceed to the next chapter. If the test fails, recheck the preceding installation instructions, and check the telalert.trail file for error messages. If you cannot determine the cause of the problem, contact TelAlert Technical Support.

2.8.1 Using TestComm

TestComm is a port-querying program copied onto your machine during the TelAlert server software installation process. It is located with the other TelAlert executables in the directory pointed to by the TELALERTBIN environment variable (by default, /usr/telalert or

c:\program files\telalert).

You can use it to test whether the VisualVoice middleware software, the Dialogic drivers, and the Dialogic card are working properly. If you are having a Dialogic problem that you suspect is outside of TelAlert itself, it is highly recommended that you run TestComm and save the output before contacting Technical Support. It cannot be used until after the Dialogic hardware, Dialogic drivers, and TelAlert server hardware

When using TestComm to query a port on the machine TelAlert is installed on, use this syntax:

testcomm D portnum 0

where the D stands for Dialogic,

portnumis the identifier of the Dialogic port (1, 2, 3, etc.), and

26 | TelAlert Version 5.2 Voice and Hardward Guide

0 is the default value for the LineDroppedTone that VisualVoice recognizes. (See the comments in the vvoice32.ini file for information on defining a custom LineDroppedTone.) You should see output similar to this:

>testcomm d 1 0 Note testcomm(1.18)Windows32, 19Jan2004, (c)1993-2004, MIR3 [20040119] Note Opening Dialogic:1 Note Success Dialogic:1 Detected

It may take up to 10 seconds for the test to complete. Note that the test will fail if the TelAlert server is already exclusively accessing the same port; use a telalert -show or -status command to check if the port is already in use.

TestComm accepts alternate parameter sequences for testing other types of ports (Engine, modem, terminal server, etc.); those parameters are discussed in detail elsewhere in this documentation. Running TestComm without any parameters at all will produce a brief summary of the different parameter sequences.

2.9 Advanced TTS Configurations

2.9.1 Use of TTS with TelAlert 6e

Special consideration should be taken when using TelAlert 6e with TTS regarding passwords, especially if LDAP authentication is being used. In TelAlert 6e, users can set up their accounts with any password they desire, such as complex combinations of letters, numbers, and special characters. This can become quite cumbersome when responding to a call from TelAlert which requires users to authenticate by entering their password using the telephone key pad. It is advisable that a user enters a pin like password into the TelAlert system for easier access when responding to alerts. When LDAP authentication is used by TelAlert 6e, users will authenticate to the web UI using their domain credentials, but will still use the pin style password stored by TelAlert 6e when responding to TTS alerts.

2.9.2 Embedded XML Control of TTS Voice

Many aspects of TTS synthesis can be modified using Speech Synthesis markup language (SSML), Java Speech markup language (JSML) and Microsoft SAPI 5.1 markup language. However, this is an advanced topic, and we recommend that anyone who wants to use this feature contact TelAlert Technical Support for additional information and examples.

Force Spelling of Words \The one SAPI we will mention here is used to force TelAlert to spell out words in a message. This is most often used to spell out hostnames names of devices when attempts to pronounce them result in a message that is not understood.

The SAPI call of interest uses XML syntax to force a TTS device to spell out a section of text. For example,

<spell>

These words should be spelled out.

</spell>

These words should not be spelled out.

To get the above to work with TelAlert, we need to embed a flag in the message to enable XML. The flag is ~xmlon. To send the above to TelAlert, the following syntax would be used:

telalertc –i bill_voice –m “~xmlon <spell> These words should be spelled out. </spell> These words should not be spelled out.”

28 | TelAlert Version 5.2 Voice and Hardward Guide

2.9.3 TTS Rate Control

The rate (tempo and speed) of each TTS synthesized voice can now be controlled to suit your application and audience.

To change the voice speed, a notation is added to the font name in the TTSDialInVoiceName or TTSVoiceName keywords. For example, to speed up the voice, use:

Mike16 | Rate=+1

or

ATT DTNV 1.4 Mike16 | Rate=+1

To slow down the voice, use:

Mike | Rate=-1

or

ATT DTNV 1.4 Mike | Rate=-1

Valid settings are from -9 to +9. Typical settings are -1 or -2.

The same syntax can be used in the -ttsvoice option on the command line, usually for testing.

3

3

Software Configuration for Outgoing Messages

3.1 Overview

This chapter contains instructions for setting up TelAlert to send notifications to Voice and TTS destinations—including live humans, voice mail/answering machines, and loudspeakers.

3.2 Before You Begin

3.2.1 Installation and Upgrade Considerations

On new TelAlert installations (either Evaluation or Permanent), the install procedure prompts for the information needed to set up the appropriate [Port], [Modem] and [PhonePrefixes] entries for any included TelAlert Dialogic hardware. (The default [Access] and [CallProgress] section values are usually adequate and so they are not customized during installation).

This prompting and customization does not occur during upgrades of existing TelAlert installations; nor does it occur when Dialogic hardware is added to an existing installation. The information must be manually added using your chosen configuration method (editing telalert.ini with a text editor; the TelAdmin GUI tool).

[Port] entries, and to some extent [Access] entries, were covered in The Role of Ports Chapter in the TelAlert Administrator Guide.

[PhonePrefixes] is covered in the Dialing the Telephone Chapter in the TelAlert Administrator Guide.

[Access], [Configuration], [Destination], and [User] will be discussed in this

chapter. The Keyword and Command Reference manual remains the definitive source for information regarding details of configuration keywords and values.

Note that Device definitions in the CM WebUI interface map to [Destination] definitions in TelAdmin.

3.3 Getting Started

3.3.1 Needed Information

Before proceeding with the work described in this chapter you should gather as much information as possible on each of the destinations/devices to which you will be delivering TTS notifications. This will be used in setting up entries under [Configuration] and [Destination] (for TelAlert 6e, Device instead of [Destination]). Note that not all of the following items will be relevant for every entry:

Name of user (if you wish to require a password, and/or wish to provide a custom list of IVR menu responses after the message is delivered)

Telephone number (direct or PBX)

Average number of rings it takes the system to answer the call (direct or PBX)

Extension, if any (number to dial after PBX answers to reach the desired party)

Average number of rings it takes for the extension to answer (if any)

Mailbox (code to request leaving a voicemail)

Terminator (key signaling the end of voicemail recording)

Type of tone indicating the voicemail system or answering machine has begun recording

Duration (in seconds) of any regularly occurring pauses taking place during each part of the call

Duration (in seconds) of any messages or music regularly played to the caller during each part of the call

32 | TelAlert Version 5.2 Voice and Hardward Guide

3.3.2 General Considerations

Users

The concept of “user” has the same general relevance for TTS notification as for most other notification media: by including a User= keyword value in each of your TTS destination/device definitions, and creating corresponding [User] definitions, you can:

Require message recipients to provide a password before the message will be delivered

Require message recipients to provide a password when responding to a message via the command line

Track messages in terms of the people associated with the destinations to which they are sent

Link these destinations to information (e.g., on-duty schedules) referred to in the [user] definitions

Provide a custom ivr menu of choices after the message is delivered

You may want to include a User= setting in all of your destination/device definitions to take advantage of one or more of these features. Note that all device definitions are associated to a User in TelAlert 6e installations.

You should note that User values are required in destinations associated with [Configuration] definitions of Type=InteractiveVoice and InteractiveTTS, in order to define the password, menu script, etc., that is used 'interactively'.

For complete information on creating and invoking [User] definitions, see the Representing Users chapter in the TelAlert Administrator Guide.

Method of Configuration

To set up TTS messaging, you use your chosen configuration method (editing the telalert.ini file with a text editor; using the TADesktop’s TelAdmin tool). This documentation will specify the definitions that need to be created, and the keyword/value pairs that need to be defined, in a configuration-method-neutral manner.

For more information on these various configuration methods, see the TelAlert Administrator Guide Configuration Basics chapter.

Making the TelAlert Service daemon Re-Read its Configuration File

Several of the configuration methods change configuration data in on-disk files and databases, but do not necessarily change the configuration data that the running telalerte service daemon has cached in memory. For more information on this, and references to the detailed considerations and differences between the various configuration methods, see the Configuration Basics chapter in the TelAlert Administrator Guide.

TelAlert Vocabulary

When you send a message using TTS technology (Type=TTS or InteractiveTTS), all words will be'spoken'; in general, none will be spelled out. You can 'fine-tune' the TTS pronunciation rules for particular words (company and geographic names, acronyms, etc.)

Local Area Code

Be sure that the correct local area code appears under [PhonePrefixes]. This is important for all TelAlert features that involve dialing, not just TTS notifications. The proper LocalAreaCode value is the area code for your location, regardless of the area code associated with your [Configuration] definitions. When reading a [Configuration] definition, TelAlert compares the area code it finds there against this value, then dials the area code only if the two do not match. For more information, see Dialing the Telephone in the TelAlert Administrator Guide.

Reaching an Outside Line; Other Special Dialing Techniques

For any notification method that requires dialing, there are a number of special techniques you may need to employ in order to take into account particular aspects of your organization’s phone system or policies:

techniques for getting an outside line, for initiating a long-distance call, etc. For more information, see the Dialing the Telephone chapter in the TelAlert Administrator Guide.

3.4 Voice Notification Logic

Throughout this chapter, you will be reminded from time to time of the logic TelAlert follows as it attempts to deliver voice notifications. The current section presents this logic in its entirety—so you can tackle the tasks of voice notification configuration with a solid understanding of the underlying process at work.

Read This Section!

TelAlert’s voice notification functionality is so flexible that it is possible to configure it to work with almost any phone or voice mail system. Because this can be a relatively complex process, it is very important that you be familiar with the framework in which you are operating. For this reason, be sure to read this section before proceeding.

1. Pass Dialing Instructions to the Dialogic card

TelAlert initiates the send by passing dialing instructions to the Dialogic telephony card. If it detects one, it dials the number. If not, it gives TelAlert a “no dial tone” error.

Because the notification is using a configuration of Type=TTS or Type=InteractiveTTS, TelAlert tells the Dialogic card to dial and nothing more. If a modem answers the line, neither the Dialogic card nor TelAlert will recognize or respond to it; instead, TelAlert proceeds with its attempt to deliver the voice message, according to the instructions provided.

The number the Dialogic card is told to dial is constructed out of several values stored in the TelAlert configuration file. The principal component is Number. This is preceded by AreaCode, but only if this value differs from the value assigned to LocalAreaCode. Where specified, the number is also preceded by special digits used to get an outside line or initiate a long distance call.

Note – Commas cannot be sent to a Dialogic card

For a Dialogic card, the number cannot include pauses, represented by commas (,,).

2. Listen for the Call to be Answered

During dialing, no “listening” is taking place; the Dialogic card is proceeding without regard for anything that may be happening at the other end of the line. As soon as dialing is complete, TelAlert begins listening. It does this using (1) the Dialogic card and (2) settings under [CallProgress] that define each of the “cadences” (timed patterns of sound/no sound) associated with ringing, busy signals, etc. Ultimately, the goal of TelAlert’s listening is to determine if the call has been answered.

If TelAlert hears a busy signal after dialing, it hangs up. If the line is not busy, usually the first sound TelAlert detects is ringing. The default ringing definition (in conjunction with an alternate definition, also provided) permits TelAlert to recognize the ringing used by almost all telephone companies and PBXs, world-wide. If changes are needed, you can modify these settings.

Once TelAlert recognizes ringing, it will wait until it has heard the number of rings specified by the RingCount setting before giving up. Whether or not it detects ringing, TelAlert will decide whether the call has been answered based on certain conditions specified by settings in the TelAlert configuration file.

34 | TelAlert Version 5.2 Voice and Hardward Guide

There are four such conditions that, when met, can lead TelAlert to consider the call to have been answered:

InitialToneWait expires. As mentioned above, if this amount of time elapses without TelAlert having heard a tone of any kind (including ringing), it assumes the call has been answered. You should set this value (under [Configuration]) considerably higher when calling a cellular phone, since many seconds may pass between dialing and the start of ringing.

ToneWait expires. This value, set under [Configuration], determines how much time between tones (i.e., after at least one tone has been detected) TelAlert will tolerate before considering the call to have been answered. Principally, ToneWait allows TelAlert to determine that ringing has stopped.

TelAlert recognizes a “voice” cadence. This pattern, like the ringing and busy cadences, is defined under [CallProgress] using values that take into account the irregularity of human speech. There is also an alternate definition, and both can be modified, as necessary.

TelAlert recognizes one or more special tones. The special tone TelAlert is to listen for is

specified under [Configuration] using MinToneOn, MinToneOff, MaxToneOn,

MaxToneOff, and ToneRepeats settings. If ToneRepeats is set to zero, this condition does not apply; if AnswerToneOnly is set to True, hearing this special tone is the only condition that can lead TelAlert to recognize the call as having been answered.

Contingency: Dialing an Extension If the [Configuration] or [Destination] definition includes a value for Extension,

Contingency: Dialing an Extension

If the [Configuration] or [Destination] definition includes a value for Extension, TelAlert will go through two separate listening phases.

Here, TelAlert dials the main number and, when it determines that the call has been answered, begins waiting the number of seconds specified by ExtensionWait (if any). When this time elapses, it dials the value assigned to Extension and waits the amount of time assigned to ExtensionListenDelay (if any). When this time elapses, TelAlert once again begins listening for an answer. When it detects an answer, it follows one of the procedures described below, depending on whether it expects a person or a system to answer.

3. Proceed According to Who—or What—is Expected to Answer

Not all voice notifications require a real person to answer, of course; in some cases, all that is desired is for TelAlert to leave a voice mail message. How TelAlert proceeds when the call is answered depends on which of three expectations it has as to who or what will answer:

A real person will answer

A voice mail system or answering machine will answer

Either a real person or a voice mail system/answering machine may answer

Telalert’s expectations in this regard are determined by settings in its configuration file, as discussed below.

Expectation One: A Real Person Will Answer

This holds true only for [Configuration] definitions of Type=InteractiveTTS in which

AnswerConfirmationRequired is set to True.

In this case, when it believes the call has been answered, TelAlert repeats “TelAlert” (or whatever value is assigned to TTSDialOutConfirmationPrompt, under [Access]) while waiting for the person who has answered to press the # key. If the # key is not pressed before ToneConfirmWait expires, TelAlert hangs up. If the person presses the # key, TelAlert asks for a password (specified under the user definition associated with this destination). If the person provides the correct password, TelAlert follows these steps:

Waits the amount of time assigned to premsgwait (if any).

Reads the message.

Waits the amount of time assigned to postmsgwait (if any).

Offers the user a menu of acknowledgment choices (by default, positive acknowledgment or negative acknowledgment).

Registers the input of the user.

Hangs up.

The “wait” values seen above are timing mechanisms that make it possible to insert pauses of specified lengths at specific points along the message-delivery timeline. They are optional, but they can be very helpful in setting up TelAlert to navigate the intricacies of the telephone system into which you are calling. In the above description, where a "wait" value’s source is not specified, it comes from the relevant

[Configuration] definition.

Expectation Two: A System Will Answer

This holds true for [Configuration] definitions of Type=TTS. Here, Type=TTS (as opposed to InteractiveTTS) tells TelAlert not to elicit any response from the person or machine answering the call. In this scenario, once it determines that the call has been answered, TelAlert follows these steps:

Waits the amount of time assigned to mailboxwait (if any).

Issues the [Configuration] definition’s Mailbox value (if any).

Issues the [Destination] definition’s Mailbox value (if any).

Waits the amount of time assigned to premsgwait (if any).

Reads the message.

Waits the amount of time assigned to postmsgwait (if any).

Waits the amount of time assigned to terminatorwait (if any).

Issues the [Destination] definition’s Terminator signal (if this value has been set).

Issues the [Configuration] definition’s Terminator signal (if this value has been set).

Hangs up.

36 | TelAlert Version 5.2 Voice and Hardward Guide

Here, Mailbox is the value that some telephone systems require you to dial to access the person’s voice mailbox and leave a message. Terminator is the value that some systems ask you to issue to signal the end of the message. Both of these values can be set in both the [Destination] and the [Configuration] definition in order to give you more flexibility in configuring for the system you are dialing into.

The various “wait” values seen above are simply timing mechanisms that make it possible to insert pauses of specified lengths at specific points along the message-delivery timeline. All of these are optional, but they can be very helpful in setting up TelAlert to negotiate the intricacies of a voice mail system. In the above description, where a "wait" value’s source is not specified, it comes from the relevant

[Configuration] definition.

Expectation Three: Either A Person or a System May Answer

This holds true where Type=InteractiveTTS (thus accommodating the possibility of a person answering) and AnswerConfirmationRequired is set to False (thus accommodating the possibility of

a system answering). In addition, some value must be assigned to Mailbox. This is the value that some telephone systems require you to dial to access the person’s voice mailbox and leave a message. Even if no such value is required by the voice mail system, some value must appear here (a comma, for instance) so that TelAlert understands that it is to go through the process of leaving a voice mail message if it does not receive an answer confirmation tone.

Once TelAlert believes the call has been answered, it begins repeating “TelAlert” while waiting for the person who has answered to press the # key. If the # key is pressed, it prompts the person for a password and, if the password is correct, TelAlert follows these steps:

Waits the amount of time assigned to premsgwait (if any).

Reads the message.

Waits the amount of time assigned to postmsgwait (if any).

Offers the user a menu of acknowledgment choices (by default, positive acknowledgment or negative acknowledgment).

Registers the input of the user.

Hangs up.

If the # key is not pressed before ToneConfirmWait expires, TelAlert proceeds assuming that it is

dealing with a system or machine. TelAlert follows these steps:

Waits the amount of time assigned to mailboxwait (if any).

Issues the [Configuration] definition’s Mailbox value (if any).

Issues the [Destination] definition’s Mailbox value (if any).

Waits the amount of time assigned to premsgwait (if any).

Reads the message.

Waits the amount of time assigned to postmsgwait (if any).

Waits the amount of time assigned to terminatorwait (if any).

Issues the [Destination] definition’s Terminator signal (if this value has been set).

Issues the [Configuration] definition’s Terminator signal (if this value has been set).

Hangs up.

Here, Terminator is the value that some systems ask you to issue to signal the end of the message. Both of these values can be set in both the [Destination] and the [Configuration] definition in order to give you more flexibility in configuring for the system you are dialing into.

The various “wait” values seen above are timing mechanisms that make it possible to insert pauses of specified lengths at specific points along the message-delivery timeline. All of these are optional, but they can be very helpful in setting up TelAlert to negotiate the intricacies of a voice mail system. In the above description, where a "wait" value’s source is not specified, it comes from the relevant [Configuration] definition.

3.5 Setting Up Live Voice Notification

This section begins with a discussion of each of the elements comprising the setup for voice notifications intended exclusively for delivery to a live destination—i.e., a real person.

It then proceeds through a step-by-step example. Note that there can be a tremendous amount of variety

from one voice configuration scenario to the next. Thus, this example is presented only as one of many possible applications of the principles dealt with here and in Voice Notification Logic.

3.5.1 Elements

The essential pieces of a live voice notification setup are a [Configuration], a [Destination], and

a [User] definition.

[Configuration] Definition

The [Configuration] definition for a live voice notification might look something like this. Each setting

is discussed below.

[Configuration] {OutboundVoiceLive}

AreaCode=800

Number=555-1212

Type=InteractiveTTS AnswerConfirmationRequired=True

ToneConfirmWait=5

UserRequired=True ExtensionWait=1s

ExtensionListenDelay=3s

VoiceAnswerWait=1m

PreMsgWait=1s

PostMsgWait=1s

NoMessageResponse=False

NoUserValidation=False

AreaCode—The area code associated with the main number you are dialing.

Number—The main number you are dialing. If this and the area code are unique to the person to whom you want to deliver the message, they belong in the destination. Here they are in the [Configuration] definition because the intended person is designated by an extension— implying that more than one person can be reached at the same area code and main number.

Type—For live text to speech notification, this must be set to InteractiveTTS.

AnswerConfirmationRequired—For voice notifications that are exclusively live, this must be set to True.

38 | TelAlert Version 5.2 Voice and Hardward Guide

ToneConfirmWait—The number of seconds TelAlert spends speaking the value of VoiceDialOutConfirmationPrompt (by default, "TelAlert") while waiting for the person answering the phone to press the # key.

UserRequired—For [Configuration] definitions of type InteractiveTTS, this must be set to True.

ExtensionWait—The amount of time TelAlert waits after it detects an answer and before it dials the specified extension (set in the destination). This is needed in situations in which the extension cannot be entered immediately upon answer.

ExtensionListenDelay—The amount of time TelAlert waits without listening after dialing the extension. This is used to keep TelAlert from accidentally interpreting music or a recorded message played during the call transfer as an answer. When this value is properly set, TelAlert does not begin listening again until the extension is ringing.

VoiceAnswerWait—The amount of time TelAlert waits to detect an answering voice.

PreMsgWait—The amount of time TelAlert waits before reading the message, once it has followed all other instructions leading up to the reading of the message.

PostMsgWait—The amount of time TelAlert waits after reading the message, before taking the next appropriate step.

NoMessageResponse—Set to False, suppresses the acknowledge prompt.

NoUserValidation—Set to False, eliminates the need for a password.

[Destination] Definition

A [Destination] definition for live voice notification might look something like this. Each setting is discussed below.

[Destination] {DavidVoiceLive} User=David Configuration=OutboundVoiceLive

Extension=123

{DavidVoiceLive}—The name of the destination. Whatever name you assign, it should reflect the nature of the destination.

User—A destination invoking a [Configuration] definition of Type=InteractiveTTS must

contain a User setting pointing to an entry you create under [User](see below).

Configuration—A reference to the above [Configuration] definition.

Extension—The number that must be dialed after the main number is answered in order to reach the intended person. If it were necessary to enter another value prior to entering the extension (if, for instance, the recorded message said, “Press 3 if you would like to enter an extension”), you could make this value a part of the Extension value:

Extension=3,123

The comma inserts a one-second pause between these values.

[User] Definition

The user invoked in the destination must exist under [User]. Note that this will be automatically configured in TelAlert 6e implementations. Each setting is discussed below.

[User]

{David}

Active=True

Password=password

Active—Set to True, this means that the user definition is ready for use by TelAlert.

Password—You must specify a password in any [User] definition invoked by a destination that

points to a [Configuration] definition of Type=InteractiveTTS.

Example

The scenario is this:

You want TelAlert to be able to call David at home to deliver certain messages. You want TelAlert to deliver the message to David alone—not to anyone else, and not to his answering machine.

Step One: Create the [User] Definition

Because the [Configuration] definition’s type will be InteractiveTTS, you must create a [User] definition. Do this first, as the destination must refer to the [User] definition. If you prefer, you can set up a general [User] definition that can be invoked in all instances requiring one: User=Operator, for instance. In this case, though, create a unique [User] definition for David alone:

[User]

{David}

Active=True

Password=password

For purposes of live voice notification, you must provide a Password value.

Step Two: Create the [Configuration] Definition

Because the destination must point to a [Configuration] definition, create the [Configuration] definition next:

[Configuration] {OutboundVoiceLive} Type=InteractiveTTS AnswerConfirmationRequired=True

ToneConfirmWait=15

UserRequired=True

Here, ToneConfirmWait has been set rather high in anticipation of the possibility that someone other than David may answer and then have to call him to the phone. PreMsgWait and PostMsgWait are not essential elements; mostly they are set to provide a little padding on either side of the message, so David has time to get a pencil, think about his response, etc.

Because TelAlert is calling David at home, there are no extension-related values here. Because the telephone number being called is unique to David, it is set under the destination, below.

40 | TelAlert Version 5.2 Voice and Hardward Guide

Step Three: Create the [Destination] Definition

This destination is quite simple, containing only the area code and phone number and pointing to the relevant

[Configuration] and [User] definitions:

[Destination] {DavidVoiceLive}

AreaCode=800

Number=555-1212

User=David

Configuration=OutboundVoiceLive

Other Considerations

Perhaps you want to send voice notifications to David at home only when certain emergencies arise at times that he is likely to be at home (late at night or on the weekend). To set this up, follow these steps:

Under [Schedule], create two special entries for David:

[Schedule] {DavidHomeEmergency}

Sunday=00:00-23:59

Monday=23:00-23:59, 00:00-07:00 Tuesday=23:00-23:59, 00:00-07:00 Wednesday=23:00-23:59, 00:00-07:00 Thursday=23:00-23:59, 00:00-07:00 Friday=23:00-23:59, 00:00-07:00

Saturday=00:00-23:59

{DavidNever}

Sunday=00:00-00:00

Monday=00:00-00:00

Tuesday=00:00-00:00

Wednesday=00:00-00:00

Thursday=00:00-00:00

Friday=00:00-00:00

Saturday=00:00-00:00

Under {DavidVoiceLive}, point to these schedules by adding these settings:

Schedule=DavidNever AlternateSchedule=DavidHomeEmergency

AlternateSchedulePriority=90

Now, David will receive a voice notification at home only if the alert meets all three of these conditions:

it invokes {DavidVoiceLive}—whether directly or by means of a group send in which the

[Group] definition contains {DavidVoiceLive}

it

is assigned a priority of 90 or higher

it occurs during the hours specified in {DavidHomeEmergency}

Why is the {DavidNever} schedule needed? If the destination contained no explicit Schedule setting, it would be considered valid (i.e., on duty) during all hours for all alerts assigned a priority of less than 90. But because it invokes a [Schedule] definition such that it is never active, all alerts of a priority less than 90 are effectively filtered.

3.6 Setting Up Voice Mail/Answering Machine Notification

This section begins with a discussion of each of the elements comprising the setup for voice notifications intended exclusively for delivery to a voice mailbox or answering machine.

It then proceeds through a step-by-step example. Note that there can be a tremendous amount of variety

from one voice configuration scenario to the next. Thus, this example is presented as only one of many possible applications of the principles dealt with here and in the Voice Notification Logic section.

3.6.1 Elements

The essential pieces of a voice mail/answering machine notification setup are a [Configuration] definition and a [Destination] definition.

[Configuration] Definition

A [Configuration] definition for a voice mail/answering machine notification might look something like

this. Each setting is discussed below.

[Configuration] {OutboundVoiceMail}

AreaCode=800

Number=555-1212

MailboxWait=1s

Type=TTS

ExtensionWait=1s

ExtensionListenDelay=3s

VoiceAnswerWait=1m

PreMsgWait=1s

PostMsgWait=2s

Terminator=#

TerminatorWait=1s

AreaCodeThe area code associated with the main number you are dialing.

Number—The main number you are dialing. If this and the area code are unique to the person to whom you want to deliver the message, they belong in the destination. Here they are in the [Configuration] definition because the intended person is designated by an extension— implying that more than one person can be reached at the same area code and main number.

MailboxWait—The amount of time TelAlert waits before dialing the Mailbox value, if one is specified in the destination.

Type—For voice mail/answering machine notification, this must be set to TTS. Otherwise, TelAlert seeks answer confirmation.

ExtensionWait—The amount of time TelAlert waits after it detects an answer and before it dials the specified extension (set in the destination). This is needed in situations in which the extension cannot be entered immediately upon answer.

42 | TelAlert Version 5.2 Voice and Hardward Guide

ExtensionListenDelay—The amount of time TelAlert waits without listening after dialing the extension. This is used to keep TelAlert from accidentally interpreting music or a recorded message played during the call transfer as an answer. When this value is properly set, TelAlert does not begin listening again until the extension is ringing.

VoiceAnswerWait—The amount of time TelAlert waits to detect the voice mail or answering machine message.

PreMsgWait—The amount of time TelAlert waits before reading the message, once it has followed all other instructions leading up to the reading of the message.

PostMsgWait—The amount of time TelAlert waits after reading the message, before taking the next appropriate step.

Terminator—In general, the tone TelAlert issues after reading the message. A Terminator value set in a [Configuration] definition is played immediately after the Terminator value (if any) set in the destination. Most voice mail systems do not require the caller to issue a Terminator tone, but many will accept one.

TerminatorWait—The amount of time before TelAlert issues the Terminator tone.

[Destination] Definition

A [Destination] definition for a voice mail/answering machine notification might look something like this. Each setting is discussed below.

[Destination] {CynthiaVoiceMail} User=Cynthia Configuration=OutboundVoiceMail

Extension=123

Mailbox=1

UserA destination invoking a [Configuration] definition of Type=TTS must contain a User setting.

Configuration—A reference to the above [Configuration] definition.

Extension—The number that must be dialed after the main number is answered in order to reach the intended person. If it were necessary to enter another value prior to entering the extension (if, for instance, the recorded message said, “Press 1 if you would like to enter an extension”), you could make this value a part of the Extension setting:

Extension=3,123

The comma inserts a one-second pause between these values.

Mailbox—The number or other value that must be dialed after the intended person is reached in order to leave a message. For instance, a person’s voice mail greeting might say, “To leave a message, press 1. To return to the main switchboard, press 2.” Here, you would set Mailbox to 1 in order to get TelAlert into the person’s voice mailbox.

User

The [User] definition invoked in the destination must exist under [User]. Each setting is discussed below.

[User]

{Cynthia}

Active=True

Password=password

ActiveSet to True, this means that the [User] definition is ready for use by TelAlert.

Password—You must specify a password for any [User] definition invoked by a destination that

points to a [Configuration] definition of Type=TTS.

Example

The scenario is this:

You want to leave voice messages for Cynthia in her voice mailbox at work. You do not want TelAlert to speak to her live; instead, you want to go directly into voice mail. TelAlert is connected to an inside line and is set up with its own identity within the company phone system.

Step One: Map the Process

As you first lay out all the steps, try not to think in terms of what TelAlert has to do. Think instead of the normal procedure you would follow in sending a message directly to Cynthia’s voice mail from an inside line. In addition to mapping the active steps, you need to consider timing of each. You must create a [Configuration] definition and a destination that together cause TelAlert to do the right thing at the right time, relative to the voice mail system’s ability to receive and process input.

The process outlined below makes certain assumptions about the telephone system in use. Obviously, there are significant variations from one system to another.

1. From your own phone, press # to indicate that you want to log on.

2. Wait for the system to begin prompting you for a password.

3. Enter the password.

4. Wait for the menu to begin playing.

5. Choose the menu item for sending voice mail to another user.

6. Wait for the tone.

7. Record the message.

8. Press the # key to indicate that you have finished recording.

9. Wait for the message telling you to enter the extension number of the person for whom the message is intended.

10. Enter the extension number.

11. Press the # key to send the message.

12. Press the * key to exit the menu.

13. Hang up.

Note that some systems allow you to choose a menu item at any time; it may not always be necessary for you to wait for a menu or other message to play completely before entering a value. However, some brief wait may be necessary for the system to go from one listening mode to another. In other words, you may have to wait for the system to begin listing menu items before choosing the desired item.

44 | TelAlert Version 5.2 Voice and Hardward Guide

Step Two: Create the [User] Definition

Because the [Configuration] definition’s type will be TTS, you must create a [User] definition. Do this first, as the destination must refer to this entry. If you prefer, you can set up a general [User] definition that can be invoked in all instances requiring a user: User=Operator. In this case, though, create a unique [User] definition for Cynthia alone:

[User]

{Cynthia}

Active=True

Password=password

Step Three: Create the [Configuration] Definition

In reality, you will probably work on the [Configuration] definition and [Destination] definition together, since they work together in replicating the steps comprising the overall procedure for leaving a voice mail message. Keep in mind, though, that the destination must refer to an existing [Configuration] definition; thus, you should begin the [Configuration] definition first.

Details of InternalVoiceMail are discussed below. These descriptions pertain specifically to the procedure at work in this particular configuration-destination combination. Note that the meanings suggested by the keywords do not necessarily match their function. For instance, the value assigned to Mailbox is not actually a mailbox value, in the normal sense; rather, it is comprised of a password, a pause, and a menu choice. Here, each keyword’s main significance is the order in which it comes into play.

[Configuration] {InternalVoiceMail} Type=TTS Number=##

MailboxWait=1s

Mailbox=9876,1

Terminator=,* UserRequired=True AnswerConfirmationRequired=False

PreMsgWait=5.5s

TypeThis must be set to TTS if the [Configuration] definition will not be used to send to live destinations.

Number—The first thing TelAlert dials. In this example, by dialing ## TelAlert signals to the phone system that it wants to log in. After dialing, TelAlert listens until it hears the phone system message, which asks for a password. Since this message matches the voice cadence defined under [CallProgress], TelAlert recognizes the call as having been answered.

MailboxWait—The amount of time TelAlert waits before dialing the Mailbox value. Here, this is set just high enough to get TelAlert into the menu from which it can choose the option for sending a message.

Mailbox—The first value TelAlert dials after it detects an answer. Taken together, 9876,1 represents the password (9876), a one-second pause (represented by the comma), and the number of the menu item for sending a voice mail message to another phone system user (1).

Terminator—In general, the tone TelAlert issues after reading the message. A Terminator value set in a configuration is played immediately after the Terminator value set in the destination. Here, * is the value that gets TelAlert out of the phone system menu; the one-second pause inserted before it serves simply as “padding”between it and the destination’s Terminator value.

UserRequired—This must be set to True for all configurations of Type=TTS and

Type=InteractiveTTS.

AnswerConfirmationRequired—This must be set to False for all configurations of Type=TTS.

PreMsgWait —The amount of time TelAlert waits between issuing the Mailbox value and reading the message. Here, this is set high enough to get TelAlert past the recorded message and tone played by the phone system after the caller chooses the menu item for leaving a message.

Inside Access If your phone system requires you to dial a special digit before dialing

Inside Access

If your phone system requires you to dial a special digit before dialing an inside number and you have already configured TelAlert to take this into account using the InsideAccess keyword, the above [Configuration] definition will not work properly. Because the number of digits under Number will fall short of the InsideDigitCount value (under [PhonePrefixes]), TelAlert will affix the InsideAccess value to the front of Number when dialing. Thus, ## will become 7##, for instance, and TelAlert will not log in successfully.

In this case, you should set up TelAlert to call Cynthia’s voice mail from an outside line. See Other Considerations for a discussion of this issue. Alternatively, you can leave InsideAccess blank and manually affix this special digit to the front of all internal numbers.

Step Four: Create the [Destination] Definition

Generally, information that might be used in conjunction with other destinations goes in the [Configuration] definition. Conversely, the destination generally contains information uniquely related to the person or voice mailbox to which the message is being sent.

[Destination]

{CynthiaVoiceMail} User=Cynthia Configuration=InternalVoiceMail

Terminator=,#,,123#

User—This value must be set in any destination referring to a [Configuration] definition of Type=TTS or Type=InteractiveTTS. Further, the invoked [User] definition must exist.

Configuration—The source for most of the generally applicable information needed to send messages to this destination.

Terminator—In general, the tone TelAlert issues after reading the message. A Terminator value set in a destination is played immediately before the Terminator value set in the configuration. Here, this setting is used to specify the tone signaling the end of the message (#); it also contains the extension to which the message will be sent and the value that tells the system to go ahead and send the message (another #). The one-second pause before the first # is just

46 | TelAlert Version 5.2 Voice and Hardward Guide

precautionary “padding.” The two-second pause is designed to make sure TelAlert waits for the prompt before entering the extension number (123).

Other Considerations

If, in the same phone system environment, you wanted TelAlert to call Cynthia’s voice mail from an outside line, you might use a [Configuration] definition like this:

[Configuration]

{ExternalVoiceMail} Type=TTS

AreaCode=800

Number=555-1212

Extension=##433

MailboxWait=1s

Mailbox=9876,1

Terminator=,* AnswerConfirmationRequired=False UserRequired=True

PreMsgWait=5.5s

Here, the difference in process rests with the fact that TelAlert dials in from outside in order to log in to the system. This is accomplished using typical AreaCode and Number values and setting up Extension so that, upon determining that the main number has been answered, TelAlert dials ## (to indicate that it wants to log in) and 433 (its extension, to indicate whom it wants to log in as). Here, Mailbox functions as in the previous example: it completes the log-in by providing TelAlert’s password, then specifies the desired menu item.

From this point on, the procedure is identical to the one already described. The [Destination] definition differs only in that it points to a different [Configuration] definition:

[Destination]

{CynthiaExternalVoiceMail} User=Cynthia Configuration=ExternalVoiceMail

Terminator=#,,123#

3.7 Setting Up Live Voice/Voice Mail Flexibility

This section begins with a discussion of each of the elements comprising the setup for voice notifications that can be delivered to either a live person or a voice mailbox/answering machine.

It then proceeds through a step-by-step example. Note that there can be a tremendous amount of variety from one voice configuration scenario to the next. Thus, this example is presented as only one of many possible applications of the principles dealt with here and in Voice Notification Logic.

3.7.1 Elements

The essential pieces of a live voice/voice mail notification setup are a [Configuration] definition, a [Destination] definition, and a [User] definition.

[Configuration] Definition

A [Configuration] definition for a live voice/voice mail notification might look something like this. Each setting is discussed below.

[Configuration] {OutboundVoiceLiveOrMail}

AreaCode=800

Number=555-1212

Type=InteractiveTTS

ExtensionWait=1s

ExtensionListenDelay=2s

ToneConfirmWait=5

AnswerConfirmationRequired=False UserRequired=True VoiceAnswerWait=True

PreMsgWait=0.5s

PostMsgWait=1s

MailboxWait=1s

Terminator=#

TerminatorWait=1s

AreaCode—The area code associated with the main number you are dialing.

Number—The main number you are dialing. If this and the area code are unique to the person to whom you want to deliver the message, they belong in the destination. Here they are in the [Configuration] definition because the intended person is designated by an extension— implying that more than one person can be reached at the same area code and main number.

Type—This must be set to InteractiveTTS to ensure live voice/voice mail flexibility.

ExtensionWait—The amount of time TelAlert waits after it detects an answer and before it dials the specified Extension value (set in the destination). This is needed in situations in which the extension cannot be entered immediately upon answer.

ExtensionListenDelay—The amount of time TelAlert waits without listening after dialing the extension. This is used to keep TelAlert from accidentally interpreting music or a recorded message played during the call transfer as an answer. When this value is properly set, TelAlert does not begin listening again until the extension is ringing.

48 | TelAlert Version 5.2 Voice and Hardward Guide

ToneConfirmWait—The number of seconds TelAlert spends speaking the value of TTSDialOutConfirmationPrompt (by default, "TelAlert") while waiting for the person answering the phone to press the # key. TelAlert goes through this process even if voice mail answers; it proceeds by reading the message into voice mail only if the # key is not pressed during this interval (this is how it understands whether a person or a machine has answered).

AnswerConfirmationRequired—For voice notifications that are exclusively live, this must be set to False. This setting permits TelAlert to read the message even if the # key is not pressed.

UserRequired—For [Configuration] definitions of type InteractiveTTS, this must be set to True.

VoiceAnswerWait—The amount of time TelAlert waits to detect the voice mail or answering machine message.

PreMsgWait—The amount of time TelAlert waits before reading the message, once it has followed all other instructions leading up to the reading of the message.

PostMsgWait—The amount of time TelAlert waits after reading the message, before taking whatever step follows.

MailboxWait—The amount of time TelAlert waits before dialing the Mailbox value. A Mailbox value must be specified in the destination to let TelAlert understand that it is to leave a message if it does not receive answer confirmation.

Terminator—The tone TelAlert issues after reading the message. A Terminator value set in a [Configuration] definition is played immediately after the Terminator value (if any) set in the destination. Most voice mail systems do not require the caller to issue a Terminator tone, but many will accept one.

TerminatorWait—The amount of time before TelAlert issues the first Terminator tone.

[Destination] Definition

A [Destination] definition for live voice notification might look something like this. Each setting is discussed below.

[Destination] {RachelVoiceLiveOrMail} User=Rachel Configuration=OutboundVoiceLiveOrMail

Extension=321

{RachelVoiceLive}—The name of the destination. Whatever name you assign, it should reflect the nature of the destination.

User—A destination invoking a [Configuration] definition of Type=InteractiveTTS must

contain a User setting.

Configuration—A reference to the above [Configuration] definition.

Extension—The number that must be dialed after the main number is answered in order to reach the intended person. If it were necessary to enter another value prior to entering the extension (if, for instance, the recorded message said, “Press 3 if you would like to enter an extension”), you could make this value a part of the Extension value:

Extension=3,321

The comma inserts a one-second pause between these values.

[User] Definition

The User value must point to an entry under [User]. Each setting is discussed below.

[User]

{Rachel}

Active=True

Password=password

Active—Set to True, this means that the [User] definition is ready for use by TelAlert.

Password—You must specify a password in any [User] definition invoked by a destination that

points to a [Configuration] definition of Type=InteractiveTTS.

Example

The scenario is this:

You want to deliver voice messages to Rachel at her desk, which is at another site that cannot be dialed internally. You want TelAlert to deliver the message regardless of whether she or her voice mail answers.

Step One: Map the Process

In first laying out all the steps, try not to think in terms of what TelAlert has to do. Think instead of the normal procedure you would follow in calling Rachel yourself. In addition to mapping the active steps, you need to consider the timing of each. You must create a [Configuration] definition and a destination that together cause TelAlert to do the right thing at the right time, relative to the phone system’s ability to receive and process input.

The process outlined below makes certain assumptions about the telephone system in use. Obviously, there are significant variations from one system to another.

1. Dial the area code

2. Dial the number

3. Wait for an answer and listen to the recorded message