Media Processing Server Series Caller Message Recording (CMR) Feature Documentation 3.5 NN44100-101, 02.04 July 2010 © 2010 Avaya Inc. Copyright All Rights Reserved. Except where expressly stated otherwise, no use should be made of materials on this site, the Documentation, Software, or Hardware provided by Avaya. All content on this site, the documentation and the Product provided by Avaya including the selection, arrangement and design of the content is owned either by Avaya or its licensors and is protected by copyright and other intellectual property laws including the sui generis rights relating to the protection of databases. You may not modify, copy, reproduce, republish, upload, post, transmit or distribute in any way any content, in whole or in part, including any code and software unless expressly authorized by Avaya. Unauthorized reproduction, transmission, dissemination, storage, and or use without the express written consent of Avaya can be a criminal, as well as a civil offense under the applicable law. Notice While reasonable efforts have been made to ensure that the information in this document is complete and accurate at the time of printing, Avaya assumes no liability for any errors. Avaya reserves the right to make changes and corrections to the information in this document without the obligation to notify any person or organization of such changes. Documentation disclaimer “Documentation” means information published by Avaya in varying mediums which may include product information, operating instructions and performance specifications that Avaya generally makes available to users of its products. Documentation does not include marketing materials. Avaya shall not be responsible for any modifications, additions, or deletions to the original published version of documentation unless such modifications, additions, or deletions were performed by Avaya. End User agrees to indemnify and hold harmless Avaya, Avaya's agents, servants and employees against all claims, lawsuits, demands and judgments arising out of, or in connection with, subsequent modifications, additions or deletions to this documentation, to the extent made by End User. Certain software programs or portions thereof included in the Product may contain software distributed under third party agreements (“Third Party Components”), which may contain terms that expand or limit rights to use certain portions of the Product (“Third Party Terms”). Information regarding distributed Linux OS source code (for those Products that have distributed the Linux OS source code), and identifying the copyright holders of the Third Party Components and the Third Party Terms that apply to them is available on the Avaya Support Web site: http://support.avaya.com/Copyright. Link disclaimer Trademarks Avaya is not responsible for the contents or reliability of any linked Web sites referenced within this site or documentation provided by Avaya. Avaya is not responsible for the accuracy of any information, statement or content provided on these sites and does not necessarily endorse the products, services, or information described or offered within them. Avaya does not guarantee that these links will work all the time and has no control over the availability of the linked pages. The trademarks, logos and service marks (“Marks”) displayed in this site, the Documentation and Product(s) provided by Avaya are the registered or unregistered Marks of Avaya, its affiliates, or other third parties. Users are not permitted to use such Marks without prior written consent from Avaya or such third party which may own the Mark. Nothing contained in this site, the Documentation and Product(s) should be construed as granting, by implication, estoppel, or otherwise, any license or right in and to the Marks without the express written permission of Avaya or the applicable third party. Warranty Avaya provides a limited warranty on its Hardware and Software (“Product(s)”). Refer to your sales agreement to establish the terms of the limited warranty. In addition, Avaya’s standard warranty language, as well as information regarding support for this Product while under warranty is available to Avaya customers and other parties through the Avaya Support Web site: http://support.avaya.com. Please note that if you acquired the Product(s) from an authorized Avaya reseller outside of the United States and Canada, the warranty is provided to you by said Avaya reseller and not by Avaya. Third-party components Avaya is a registered trademark of Avaya Inc. All non-Avaya trademarks are the property of their respective owners, and “Linux” is a registered trademark of Linus Torvalds. Downloading Documentation For the most current versions of Documentation, see the Avaya Support Web site: http://support.avaya.com. Licenses Contact Avaya Support THE SOFTWARE LICENSE TERMS AVAILABLE ON THE AVAYA WEBSITE, HTTP://SUPPORT.AVAYA.COM/LICENSEINFO/ ARE APPLICABLE TO ANYONE WHO DOWNLOADS, USES AND/OR INSTALLS AVAYA SOFTWARE, PURCHASED FROM AVAYA INC., ANY AVAYA AFFILIATE, OR AN AUTHORIZED AVAYA RESELLER (AS APPLICABLE) UNDER A COMMERCIAL AGREEMENT WITH AVAYA OR AN AUTHORIZED AVAYA RESELLER. UNLESS OTHERWISE AGREED TO BY AVAYA IN WRITING, AVAYA DOES NOT EXTEND THIS LICENSE IF THE SOFTWARE WAS OBTAINED FROM ANYONE OTHER THAN AVAYA, AN AVAYA AFFILIATE OR AN AVAYA AUTHORIZED RESELLER; AVAYA RESERVES THE RIGHT TO TAKE LEGAL ACTION AGAINST YOU AND ANYONE ELSE USING OR SELLING THE SOFTWARE WITHOUT A LICENSE. BY INSTALLING, DOWNLOADING OR USING THE SOFTWARE, OR AUTHORIZING OTHERS TO DO SO, YOU, ON BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE INSTALLING, DOWNLOADING OR USING THE SOFTWARE (HEREINAFTER REFERRED TO INTERCHANGEABLY AS “YOU” AND “END USER”), AGREE TO THESE TERMS AND CONDITIONS AND CREATE A BINDING CONTRACT BETWEEN YOU AND AVAYA INC. OR THE APPLICABLE AVAYA AFFILIATE (“AVAYA”). Avaya provides a telephone number for you to use to report problems or to ask questions about your Product. The support telephone number is 1-800-242-2121 in the United States. For additional support telephone numbers, see the Avaya Web site: http://support.avaya.com. 2 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Contents Chapter 1: Preface.....................................................................................................................5 Scope................................................................................................................................................................5 Intended Audience............................................................................................................................................5 Customer service..............................................................................................................................................5 Getting technical documentation.......................................................................................................................6 Getting product training.....................................................................................................................................6 Getting help from a distributor or reseller..........................................................................................................6 Getting technical support from the Avaya Web site..........................................................................................6 How to Use This Manual...................................................................................................................................6 Organization of This Manual.............................................................................................................................7 Conventions Used in This Manual....................................................................................................................7 Solaris and Windows Conventions....................................................................................................................9 Two-Button (Windows) vs. Three-Button (Solaris) Mouse................................................................................9 Trademark Conventions....................................................................................................................................9 Product Nomenclature Changes.....................................................................................................................10 Chapter 2: Introducing and Configuring the Caller Message Recording Feature.............11 Introducing the Caller Message Recording Feature........................................................................................11 Designing Applications Using CMR.................................................................................................................11 Configuring the CMR.......................................................................................................................................12 Synchronous and Asynchronous Recording...................................................................................................12 Half Duplex or Full Duplex Recorder...............................................................................................................13 Determining the Duplex Recorder To Use.......................................................................................................14 MultiMedia Format Files..................................................................................................................................15 Media Storage Tokens....................................................................................................................................15 Static vs. Expandable MMF Files....................................................................................................................16 Creating an MMF File for Caller Message Recording.....................................................................................17 Creating an MMF File from the Command Line..............................................................................................17 Creating an MMF File using MPS Studio........................................................................................................18 Activating and Deactivating MMF Files for Recording....................................................................................19 Setting High and Low Watermarks..................................................................................................................20 Using Watermarks...........................................................................................................................................21 Determining the Watermark Setting................................................................................................................22 Terminating a Recording.................................................................................................................................22 Silence Detection............................................................................................................................................23 Additional Commands.....................................................................................................................................24 Chapter 3: Application Development and Monitoring..........................................................27 Programming a CMR Application....................................................................................................................28 Recording a Message.....................................................................................................................................28 Storing and Accessing Caller Message Recordings.......................................................................................31 Playing a Caller Message Recording..............................................................................................................32 Deleting a Caller Message Recording.............................................................................................................33 Watermarks and CMR.....................................................................................................................................33 Recording Environment and CMR..................................................................................................................34 RecFirstSil.......................................................................................................................................................34 RecIntersil.......................................................................................................................................................34 RecSilStrip......................................................................................................................................................34 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 3 Removing Unwanted Tones from a CMR Message........................................................................................35 ttstrip Function.................................................................................................................................................35 discstrip Function............................................................................................................................................35 Sample Application - CMR Recording and Playback......................................................................................36 Handle Block - Block 1....................................................................................................................................37 Environment Block - Block 2...........................................................................................................................38 Answer Block - Block 3...................................................................................................................................40 Recording Into a Datacard - Block 4...............................................................................................................40 Playing a Caller Message Recording - Block 5...............................................................................................42 Debugging a CMR Application........................................................................................................................42 Using PeriGEM for Debugging........................................................................................................................42 Using VEMUL for Debugging..........................................................................................................................44 Monitoring CMR Applications..........................................................................................................................44 CMR Application Status Monitoring................................................................................................................45 From the Command Line................................................................................................................................45 Using MPS Manager.......................................................................................................................................45 Checking the Current Status of Multi Media Format Files...............................................................................45 Index.........................................................................................................................................47 4 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Chapter 1: Preface Scope This manual documents the utilization of the Caller Message Recording (CMR) feature in the Avaya Media Processing Server (MPS) Series. It contains comprehensive information on implementation of the CMR feature including setup, configuration, administration, and application development. Important: All references to MPS 3.0 in this document (such as document titles, software versions, and illustrations) apply to all releases of MPS 3.X. Intended Audience This manual is intended for use by anyone who is responsible for full or partial implementation of the CMR feature on an MPS. For configuration and setup, the reader should have a good understanding and experience of MPS system operations including a familiarity with the hardware components, software processes, files/directory structure, and system capabilities. A good understanding of computer systems in general, and of the MPS's base operating system (Solaris and/or Windows) is also important. For application development, the reader should have a thorough understanding of Media Processing Server Developer. Familiarity with Media Processing Server Studio and MultiMedia Format files is also helpful. Customer service Visit the Avaya Web site to access the complete range of services and support that Avaya provides. Go to www.avaya.com or go to one of the pages listed in the following sections. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 5 Preface Navigation • Getting technical documentation on page 6 • Getting product training on page 6 • Getting help from a distributor or reseller on page 6 • Getting technical support from the Avaya Web site on page 6 Getting technical documentation To download and print selected technical publications and release notes directly from the Internet, go to www.avaya.com/support. Getting product training Ongoing product training is available. For more information or to register, you can access the Web site at www.avaya.com/support. From this Web site, you can locate the Training contacts link on the left-hand navigation pane. Getting help from a distributor or reseller If you purchased a service contract for your Avaya product from a distributor or authorized reseller, contact the technical support staff for that distributor or reseller for assistance. Getting technical support from the Avaya Web site The easiest and most effective way to get technical support for Avaya products is from the Avaya Technical Support Web site at www.avaya.com/support. How to Use This Manual This manual uses many standard terms relating to computer systems, software application functions, and the Internet. However, it contains some terminology that can be explained only in 6 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Organization of This Manual the context of the MPS Series. Refer to the Glossary of Avaya's Media Processing Server Series Terminology for definitions of MPS Series specific terms. Read this manual from start to finish at least once. When you are familiar with the document, you can use the Table of Contents to locate topics of interest for reference and review. If you are reading this document online, use the cross-reference links (shown in blue) to quickly locate related topics. Position your cursor over the cross-reference link and click once. Click any point in a Table of Contents entry to move to that topic. Click the page number of any Index entry to access that topic page. Familiarize yourself with various specialized textual references within the manual Conventions Used in This Manual on page 7 Note: Periphonics is now part of Avaya. The name Periphonics, and variations thereof, appear in this manual only in reference to a product (for example, the PERImps package, the perirev command, and so on). Organization of This Manual Chapter 1 - Introduction, Configuration, and Setup Contains an overview of the CMR feature and information on implementing CMR on the MPS. Chapter 2- Application Development and Monitoring Contains information on incorporating the CMR feature into, debugging, and monitoring applications. Conventions Used in This Manual This manual uses different fonts and symbols to differentiate between document elements and types of information. These conventions are summarized in the following table. Table 1: Conventions Used in This Manual Notation Normal text Description Normal text font is used for most of the document. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 7 Preface Notation Description important term The Italics font introduces new terms, highlights meaningful words or phrases, or distinguishes specific terms from nearby text. system command This font indicates a system command or its arguments. Enter such keywords exactly as shown (that is, do not fill in your own values). command, condition and alarm Command, Condition and Alarm references appear on the screen in magenta text and reference the Command Reference Manual, the MPS Developer User's Guide, or the Alarm Reference Manual, respectively. Refer to these documents for detailed information about Commands, Conditions, and Alarms. file name / directory This font highlights the names of disk directories, files, and extensions for file names. It also shows what is displayed on a textbased screen (for example, to show the contents of a file.) on-screen field This font indicates field labels, on-screen menu buttons, and action buttons. <KEY NAME> A term that appears within angled brackets denotes a terminal keyboard key, a telephone keypad button, or a system mouse button. Book Reference This font indicates the names of other publications referenced within the document. cross-reference A cross-reference appears on the screen in blue. Click the crossreference to access the referenced location. A cross-reference that refers to a section name accesses the first page of that section. The italicized Note: icon identifies notes, important facts, and other Note: keys to understanding. The Caution icon identifies procedures or events that require special attention. The icon indicates a warning that serious problems may arise if the stated instructions are not followed implicitly. The flying Window icon identifies procedures or events that apply to the Windows operating system only.1 The Solaris icon identifies procedures or events that apply to the Solaris operating system only.2 1. Windows and the flying Window logo are either trademarks or registered trademarks of Microsoft Corporation. 2. Solaris® is a registered trademark of The Open Group in the U.S. and other countries. 8 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Solaris and Windows Conventions Solaris and Windows Conventions This manual depicts examples (command line syntax, configuration files, and screen shots) in Solaris format. Windows-specific commands, procedures, or screen shots are shown when required. The following table lists general operating system conventions used with either the Solaris or Windows operating system. Solaris Windows Environment $PPROHOME %PPROHOME% Paths $PPROHOME/bin %PPROHOME%\bin Command <command> & start /b <command> Two-Button (Windows) vs. Three-Button (Solaris) Mouse Trademark Conventions The following trademark information is presented here and applies throughout for third party products discussed within this manual. Trademarking information is not repeated hereafter. Solaris® and Motif® are registered trademarks of The Open Group in the U.S. and other countries. Solaris, SunOS, OpenWindows, SPARC, and UltraSPARC are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 9 Preface Microsoft, MSSQL, Windows, Internet Explorer, and the Flying Windows logo are either trademarks or registered trademarks of Microsoft Corporation. Oracle® is a registered trademark of Oracle Corporation. SybaseTM and SYBASETM are trademarks of Sybase, Inc. or its subsidiaries. Informix® and INFORMIX® are registered trademarks of Informix Corporation or its affiliates. Product Nomenclature Changes The following product names changed with the latest Avaya MPS software release. All other references to the former name with respect to environment variables, directory paths, software package names, and so on remain the same. For example, the PeriProducer product is now referred to as the Media Processing Server Developer; however, its package name remains PERIppro. Former Product Name 10 New Product Name IVR Software Media Processing Server Release x.x PeriProducer Media Processing Server Developer PeriView Media Processing Server Manager PeriStudio Media Processing Server Studio PeriReporter Media Processing Server Reporter PeriSQL Media Processing Server RDB PeriVXML Media Processing Server VXML Browser CTI Suite Communications Control Toolkit (CCT) Open Signal Computing and Analysis Resource (OSCAR) Speech Server Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Chapter 2: Introducing and Configuring the Caller Message Recording Feature This chapter covers: 1. Introduction 2. Configuring the CMR 3. Additional CMR Commands Introducing the Caller Message Recording Feature With the Caller Message Recording (CMR) feature, callers can leave voice messages that are digitally recorded by the Media Processing Server (MPS) system and stored on the application processor disk. The recorded data can be stored in either Multi-Media Format (MMF) or .wav format (8 bit u-law encoded). Subsequently, the messages can be retrieved, played, deleted, saved, or converted into standard vocabulary elements to be used during normal call flow (such as, greeting of the day). Note: This document assumes that you are proficient in the use of MPS Developer and have read the MPS Developer User Guide . You should be familiar with the different blocks and their functions, call functions, and MPS Developer data structures. Designing Applications Using CMR Many types of applications can take advantage of the CMR feature. At the simplest level, CMR causes parts of an application to function like an answering machine or voice mail. The application provides a prompt that requests the caller to supply certain information. The system Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 11 Introducing and Configuring the Caller Message Recording Feature then issues a beep, and recording can commence. This mode of recording can occur multiple times within a single phone call. For example: Example MPS: "In order to process your transaction, certain information is required. You will be asked three questions. After each one, you will hear a beep, and then you should begin speaking. You will have about 20 seconds for each response. If you have a touch-tone phone, to speed things up, press any key on the telephone keypad after you have completely answered a question. If you have a rotary phone, please stay on the line for the next question. Remember to wait for the beep before you begin to speak." Example MPS: "What is your name?" (beep) caller: "John Watson" Example MPS: "What is your address?" (beep) caller: "221b Baker Street, London" Example MPS: "What is your occupation?" (beep) caller: "Full time physician and part-time detective" An important point, as the example illustrates, is that callers need to be told what is required of them. The caller is told how many questions will be asked, that a beep indicates when to speak, and that pressing a touch-tone key ends the current recording. Configuring the CMR Synchronous and Asynchronous Recording Use asynchronous recording in an application to record an entire user interaction asynchronously while managing the call flow. Asynchronous recording can be terminated by: • Call end (Automatically done by the system at disconnect) • Explicitly application logic and command at the end of an interaction After termination the recording can be retrieved for subsequent use or storage. 12 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Half Duplex or Full Duplex Recorder Note: Asynchronous recording does not support termination by caller DTMF entry, recorder silence detection, or CMR maximum duration timer expiration. Use synchronous recording in an application to record specific interactions while waiting for the recording to terminate. Synchronous recording can be terminated by: • Call end (Automatically done by the system at disconnect) • DTMF tone. For example, the caller presses the pound key to terminate the recording. • Recorder detecting silence • CMR maximum duration timer expiration A list of one or more DTMF tones, or "ANY" DTMF tone occurring can be specified to terminate the recording. Also, "NONE" can be specified and DTMF entry does not terminate the recording. Also, the recording can optionally be terminated by the recorder detecting either first silence (caller never speaks) or inter-silence occurrence (caller has stopped speaking). These can be set so silence does not terminate the call. The CMR maximum duration timer value is programmable and on expiration the recording is terminated. The application proceeds after the recording is complete. Refer to the MPS Developer User's Guide for details about specifying the DTMF termination characters, maximum duration, first silence, and inter-silence values. Synchronous and asynchronous recording support the use of full-duplex or half-duplex recorders. Use the Record to wav option to record directly to application-specified .wav files. Half Duplex or Full Duplex Recorder Use a half-duplex recorder to record the inbound side of a conversation in an application. Use a full-duplex recorder to record both sides of a conversation in an application. An application can use both half-duplex and full-duplex recorders. Purchase the required licenses and configure the DSP in the tms.cfg file as follows: 1. The tms.cfg file already configures for half-duplex recorders. Compare your file entries to the following sample. [CLASS] COUNT = 48 ; number of recorders to load CLASS_NAME = oki_recorder ; 0 / 20 per dsp = 0 CDF = okirec.cdf 2. Add the following entries to tms.cfg to configure for the full-duplex recorder. [CLASS] Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 13 Introducing and Configuring the Caller Message Recording Feature COUNT = 48 ; number of recorders to load CLASS_NAME = oki_fulldup_rec ; 0 / 15 per dsp = 0 Dsp CDF = okirec2.cdf Determining the Duplex Recorder To Use Compare your recording requirements to the following examples and determine which duplex recording licenses you need for your application. Synchronous CMR for Caller Response Use a half-duplex recorder if your application; • records the caller in response to an application prompt. • uses caller input to direct the flow of the call. • has the caller terminate the recording by pressing a key. • has an option to terminate the recording if the recorder detects silence. • has an option to terminate the recording on the CMR duration timer expiration or when the caller disconnects. Synchronous CMR for Security Applications Use a full-duplex recorder if your application; • records both sides of a conversation for the duration of a single interaction. • terminates the recording with the CMR duration timer or when the caller disconnects. • has an option to terminate recording when the caller enters a DTMF key. • has an option to terminate recording when the recorder detects silence. Asynchronous CMR for Quality Assurance Application Use a full-duplex recorder if your application; • records both sides of a conversation for the entire call duration. • records the entire call. • terminates the recording based on application logic and command or when the caller disconnects. Asynchronous CMR for Human Factors Analysis Use a half-duplex recorder if your application; • records only the caller for the entire duration of the call. • uses caller input to direct the flow of the call. • does not let the caller terminate the recording by pressing a key. • does not terminate the call if the recorder detects silence. 14 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 MultiMedia Format Files Refer to the MPS Command Reference Manual for details about the CMR termination character. MultiMedia Format Files When a caller speaks, the voice messages are saved on disk in a MultiMedia Format (MMF) file. A single MMF file can, and typically does, contain many messages. Each message is called an element, vocabulary item, or simply item. Note: In addition to MMF files, CMR can also record directly to .wav files. For more information about MMF files, refer to the Avaya MPS Studio User Guide. Media Storage Tokens When an application records a caller message, a token is returned to the application. This token, referred to as a Media Storage token, identifies the address where the message is stored. The token is passed to the application by the system software when the message recording completes. The tokens are the means by which the messages are subsequently accessed. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 15 Introducing and Configuring the Caller Message Recording Feature The application saves these tokens, along with any other pertinent data (for example, the caller's account number), for later retrieval from indexed file storage and access facilities. Generally, an application collects the set of tokens pertinent to a single transaction and collects them in one record to the external data file. So, in the example shown in Designing Applications Using CMR on page 11, three separate tokens are generated, and the tokens are stored together in a single indexed file record. Static vs. Expandable MMF Files Before creating an MMF file, determine whether the file should be expandable or static: • Static: To create a static file, specify the maximum length of the file (in seconds or bytes) and the maximum number of elements allowed in the MMF. Both the .mmi and .mmd files will be static. When the file reaches the specified limit, it can no longer record. • Expandable: When an expandable file becomes full, it grows dynamically to accommodate more recordings until the available disk space is full (with 2 percent free space). Newly created MMFs are expandable by default. Caution: A constantly expanded MMF file (for example, several lines make simultaneous record requests that result in the expansion of the MMF file), may affect system performance due to disk I/O overhead. In general, expandable MMF files should only be used for applications requiring CMR on a few phone lines. The following diagram illustrates how expandable MMF files work. In this illustration, both files have the same original size, which is 230 elements. However, when they fill up (either by reaching the maximum number of elements or the maximum data size in bytes), they behave differently. The static MMF cannot handle any subsequent requests after it reaches capacity. However, the expandable MMF can continue to grow as long there is available disk space. 16 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Creating an MMF File for Caller Message Recording Creating an MMF File for Caller Message Recording CMR applications do not dynamically create MMF files to store CMR recordings. You must first create the MMF file to store the CMR recordings and activate the file to memory. Creating an MMF File from the Command Line To create an MMF file in a V-shell: 1. Start a vsh session on an MPS component residing on the node that will store the MMF file. 2. At the vsh prompt enter the following command: mkmf <mmf_file> <mmf_file> is the name of the MMF file. Note: This command creates an expandable MMF with the system default settings (2048 elements, 2048 data blocks). Use the following mkmf command options to customize the file. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 17 Introducing and Configuring the Caller Message Recording Feature mkmf <option> <option> ... <mmf_file>. Table 2: mkmf Command Options Option Value Description -m mmf_file MMF base filename -r decimal-fraction Fraction of file system to reserve (default: 0.05) -c EAP-capacity EAP capacity (default: 2048 EAPs) -b EAP-bitmap EAP bitmap length in bytes (default: 7168) -p pcnt-to-expand Percentage to expand file when necessary -C data-capacity Data capacity (k == KB, b == blocks, m == MB) (default: b) (default size: 2048 blocks) -B data-bitmap Data bitmap length in bytes (default 15360) -f Fixed size. File expansion disabled. -v Verbose -S Component file statistics and disk-space-check only -D Turn on debug -h Print this help list Creating an MMF File using MPS Studio 1. Start MPS Studio from the Media Processing Server Manager launcher. 2. In MPS Studio, select File > New. The New File window appears. 18 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Activating and Deactivating MMF Files for Recording 3. Use the New File window to navigate to the directory where the system will create the new file. 4. Add the name of the new file to the path in the Selection field. You do not need to include the .mmi extension. 5. Click OK. The File Definition window appears 6. Optionally, specify different parameter values for the number of Elements and Data Capacity fields if the defaults are inappropriate. 7. Click the Apply button to proceed with creating the file. At this point, the system physically creates the new MMF file on the system disk in the specified directory. The file is automatically opened for immediate use. You can now add and record elements. Activating and Deactivating MMF Files for Recording The Voice Memory Manager (VMM) is a process that is part of the VOS subcomponent and provides media management services for the VOS. Before you can use MMF files to record, you must open the files with the following command issued to the VMM: Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 19 Introducing and Configuring the Caller Message Recording Feature vmm mmfrecord <mmfname>[,<application name>] To close the file, issue this command: vmm mmfunload <mmfname>[,<application name>] When you open a file for recording, specify if it belongs to the system (public) or to a specific application (private). Note: To deactivate an MMF file (if required) activated for recording by multiple applications, you must deactivate the MMF file for each application for which it was activated. You can dynamically activate MMF record files. The previous MMF record file (if there is one) remains active, but all new record requests are directed into the new MMF record file. Any recording operation in progress is completed using the old MMF record file. The record interface in MPS 3.0 allows the application to specify the MMF file in which to record. You do not need to use the mmfrecord command to activate the MMF file; you can also use mmfload. The MMF file activated using the mmfrecord command is where CMR recordings are placed when the CMR application does not specify an MMF or .wav file.The MMF file you are recording into cannot be shared among multiple components. You can also use the $MEDIAFILEHOME environment command to load a record MMF file. Refer to the Avaya Media Processing Server Series System Reference Manual for more information. Setting High and Low Watermarks The number of messages that a single MMF can contain is determined by both the system hardware (that is, the size of the disk) and system software parameter settings. Watermark conditions provide status indications about how close the file is to its capacity. The two types of watermark conditions that can have their thresholds modified to suit application requirements are as follows: • The high watermark condition ( mmfhigh) occurs when an MMF is close to being full. By default, the high watermark level is 90 percent of capacity. This is the point where a (static) file can no longer be used for recording. • The low watermark condition ( mmflow) occurs when the MMF has enough free space to again receive recordings. By default, the low watermark level is 70 percent of capacity. The watermark conditions are shown in the following diagram. 20 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Using Watermarks Figure 1: Administrative Application Monitoring CMR Note: If static MMF files are used in the MPS, the high and low watermarks must be monitored from the CMR administrative application. For expandable MMF files, this is not necessary. With expandable files, the application needs only to periodically check the amount of available space in the file system. Using Watermarks A special administrative application is typically used to monitor system-wide CMR status conditions. Both mmfhigh and mmflow conditions are sent to the administrative application (along with the name of the MMF that generated the condition). When one of the conditions is generated, the administrative application takes appropriate action. How it handles the conditions is entirely up to the application developer. Usually, when the mmfhigh condition occurs, the administrative application would do one of the following: • open another MMF for recording • expand the MMF generating the condition • delete some old messages • flag all applications to stop recording until the low watermark condition occurs Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 21 Introducing and Configuring the Caller Message Recording Feature To find out which MMF is generating the condition, use the Call condition data function in the administrative application. Any application can receive watermark conditions. To set an application to receive these conditions, use the MediaHighWatermarkEvent and MediaLowWatermarkEvent environment options. Determining the Watermark Setting Avaya recommends that the high watermark level be set between 80 and 90 percent, depending on the size of the MMF and the needs of applications. To set the high watermark, use the following command. One way to disable the generation of this condition is to set it to 100 percent. vmm sethwm <mmfname>,<percent> It is recommended that the low watermark be set between 40 percent and 70 percent, depending on the size of the file and the needs of applications. To set the low watermark level, use the following command. One way to disable the generation of this condition is to set it to 0 percent, although this is not recommended. vmm setlwm <mmfname>,<percent> Note: The watermarks are set for each MMF. When the high watermark condition is generated for a given file, another high watermark for that file cannot be generated until after a low watermark condition has occurred for the same file. Complete information about these commands is available in the Avaya Media Processing Server Command Reference manual. Terminating a Recording A recording can be terminated in several ways as shown in the following table. These topics are discussed in greater detail in Programming a CMR Application on page 28. Termination Method Hangup (success) 22 Action Indication Generated The caller finishes speaking, then hangs up. Part of the hang-up sound may get put recordcmp onto the end of the recording. The system automatically strips a number of bytes from the end of the recording, as set by the discstrip command. If the discstrip value is Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Silence Detection Termination Method Action Indication Generated larger than the length of the recorded message, then the recording will fail and return a recordfail condition with status ErrZeroLengthSilence Silence (success) The caller finishes speaking and waits. The recording times out after intersil. Silence (failure) The caller never speaks (or starts recordfail speaking too late). The recording times out after firstsil expires. The application should handle the recordfail condition with status ErrZeroLengthSilence Out of time (success) The maximum amount of time a person can record is set within the Record block. recordcmp If the caller tries to record longer than allowed, the recording is truncated. Asynchronous recording A recording, when started as an asynchronous recording, can be terminated via the record block. recordcmp end asynch record • Set the Mode to End Async Record • Enter the Data Card Name to store the MS ID token generated for the recording • Enter Record ID that was returned when the asynchronous recording was started. Requested length greater than max. (failure) If the application tries to record longer than recordfail the maximum set in the Record block, the request fails. No part of the message is saved. The application should handle the recordfail condition with status ErrInvalidDuration. Silence Detection If silence detection is enabled, a CMR message can be terminated by means of silence detection. Silence detection depends on hardware, and line conditions. The mechanism has built-in hysteresis (i.e., not every bit of silence is removed). The energy level that is considered silence is set by the silthresh command. The higher the value, the less sensitive it is to line noise. You may have to experiment with this value to determine the best setting. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 23 Introducing and Configuring the Caller Message Recording Feature Silence detection, in an application can: • Terminate the recording • Strip unnecessary silence from the recording. The following illustration depicts how the three silence-detection timeouts are used. The silence-detection parameters are shown in the following table Table 3: Silence Detection Timeouts Parameter Description RecFirstSil This parameter determines the amount of initial silence that the system waits before terminating the attempt to record a message. It is analogous to the first character timeout for normal touchtone data entry. The recordfail condition with status ErrZeroLengthSilence is returned to the application if the message recording is terminated due to the expiration of this timer. RecInterSil A message recording can be automatically stopped by the detection of a set amount of silence after the caller has stopped speaking. Since silence after recording is considered a normal means of terminating a message, a recordcmp condition is returned to the application. RecSilStrip To save time in later transcription and conserve space in the MMF, all silence longer than RecSilStrip (and less than Recintersil) is reduced to the length of RecSilStrip. Make sure RecSilStrip is less than Recintersil; otherwise, it will never strip away any silence. Additional Commands The following table lists some additional commands that are commonly used for configuration and administration of the CMR feature. See the Avaya Media Processing Server Command Reference Manual for more comprehensive information. 24 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Additional Commands Table 4: CMR Commands Command Description c#-# clearstats rec Clears record statistics for a line. c#-# repstats rec Displays record statistics of a line. c#-# rsetstatus Shows the record resources (if any) that are allocated to a line as well as how they were allocated (i.e., static, dynamic). c#-# setsvcparam discstrip Strips data from the end of a Caller Message terminated due to disconnect c#-# setsvcparam firstsil Sets the amount of silence required to abort a record on first silence detection (before voice starts). This parameter only applies to half duplex recordings. c#-# setsvcparam intersil Sets the amount of silence required to automatically abort a recording at the end of voice. This parameter only applies to half duplex recordings. c#-# setsvcparam silstrip Sets the amount of silence required before the DSP will start stripping the silence from the recording. This parameter only applies to half duplex recordings. c#-# setsvcparam silthresh Sets the minimum amount of noise needed to distinguish between silence and non-silence for a recorder. This parameter only applies to half duplex recordings. c#-# setsvcparam ttstrip The number of milliseconds of data to strip from the end of a recording that is terminated by a touch tone. This parameter applies only to half duplex recordings. c#-# status or ccm status Displays the current CCM status for the specified lines, including line specific CMR information. vmm mmfstatus Displays a status report for all activated (loaded) MMFs, and system-wide record MMFs. vmm appstatus Displays the status report for all virtual applications, and the application-specific record MMF files. vmm status Displays the number of CMR threads currently running. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 25 Introducing and Configuring the Caller Message Recording Feature 26 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Chapter 3: Application Development and Monitoring This chapter covers: 1. Introduction 2. Recording a Message 3. Storing and Accessing Caller Message Recordings 4. Playing a Caller Message Recording 5. Deleting a Caller Message Record 6. Conditions Relevant to Caller Message Recording This chapter provides information on how to add the Caller Message Recording (CMR) feature to an MPS Developer application and then run the application on the MPS system. Note: The information contained in this chapter is based on the assumption that the reader is proficient in the use of MPS Developer and the Caller Message Recording (CMR) feature. The information in this chapter describes: • MPS Developer Toolkit blocks used to record a caller's message. See Recording a Message on page 28. • Tokens used to save and access recordings. See Storing and Accessing Caller Message Recordings on page 31. • MPS Developer Toolkit Speak block and its use in playing a caller recording. See Playing a Caller Message Recording on page 32. • Deleting a Caller Message Recording on page 33. • Recording Environment and CMR on page 34. • Removing Unwanted Tones from a CMR Message on page 35. • Sample Application - CMR Recording and Playback on page 36. • Monitoring CMR Applications on page 44. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 27 Application Development and Monitoring Programming a CMR Application Recording a Message In an MPS Developer application, caller voice response is recorded using a Record block. A Record block can be configured to record a single caller message or multiple caller messages. It is also possible to file caller voice responses in a database, which can be used to access the responses for later use by other applications. (It is not necessary to use a database to access recordings in the same execution cycle, although it is possible). The Record block icon, is shown in the following illustration. Regardless of the method used to store the recording, you can play a different voice prompt before each synchronous recording (prompting is unavailable for asynchronous recording). For all types of recordings, specify the maximum length of each recording in seconds. The list of Record block options is shown in the following table: Table 5: Record Block Options 28 CID The Connection ID of the line from where you can get audio for recording. You must associate the Record block with a Connection ID to record the voice of the caller. Mode Select the recording mode (synchronous or asynchronous) Sync Record Begin recording from the caller. Synchronous recording is normally used to get caller input and save the input as part of an information database. Begin Async Record Start an asynchronous recording session. Asynchronous recording is normally used to record all audio throughout an entire call, including prompts the MPS speaks to the caller and the caller's responses (speech or touch tone). An async recording session can only be terminated properly only by another Record Block in End Async Record mode. End Async Record End a previously started asynchronous recording session. If the application ends without an End Async Record, all recorded data for that session is discarded unless Keep on Error is enabled. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Recording a Message Wait Wait pauses application execution on a block until the block receives a success or failure notification from the system (and any data associated with that block's operation). Failure Provide a failure connector block. If this checkbox is not enabled, the application must explicitly handle a failure condition to take a different execution path. Record Into Specifies where MPS Developer stores the media storage ID token or recording. Database Folder MMF Item This is the simplest type of storage for caller-made recordings. The token is stored in the card specified in the Data Card Name field. You can use this card later in a Speak block to play back the recording. You can also store the token in a database by using a Disk I/O block. Alternatively, the recording can be stored directly into an MMF vocabulary element by filling in the "write vocabulary Item" and "Vocabulary File" fields. WAV Record directly into a WAV file.To record directly into an existing file, provide an entry in the Audio File field. To receive a token into the Data Card field, leave the Audio File field blank. Note that you cannot use this token in a Speak block. Database Entry Records related caller-made messages and optionally stores their tokens in a single record for inclusion in a database file. This option is available only for synchronous recording. A list of related recordings that are to be acquired from the caller. Database Folder is applicable only when you select Record Into Database Entry. The various aspects of each recording are shown in this panel. Prompt Specifies a voice prompt that has been specified from the Prompt field. Data Card Specifies a data card name that stores the token generated for the recording. Duration Specifies the maximum length (in seconds) for the recording (default is 60 seconds). Value can be entered as a literal or a data card. Prompt... Invokes the Prompt window. Use the Prompt option to select vocabulary phrases to use as a prompt. Data Card Name Specifies a data card name that stores the token generated for the recording. Append at Offset Append a recording to an existing MMF/WAV element. Recording starts at the specified number of tenths of seconds from the beginning of the element. If this field is left blank, the recording is appended to the end of the element. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 29 Application Development and Monitoring Note that append at Offset is valid only when Record Into is set to Append. The Append at Offset field is enabled only when the Append checkbox is selected. Write Vocabulary Item 30 Specifies the vocabulary element that is updated with the contents of the message recording created through the Record block. This option is available only when you select Record Into MMF Item. It accesses the Vocabulary Management window so you can specify a vocabulary element. Vocab Item Specifies a vocabulary item to update. Data Card Specifies a data card containing the name of the item to update. Vocabulary File Specifies the full path name of the vocabulary file containing the vocabulary element that MPS Developer updates. The path is entered either as a data card or as a literal. This option is available only when you select Record Into Vocabulary Item. Audio File Specifies the full path name of the file that stores the WAV file. The path is entered either as a data card or as a literal. This option is available only when you select Record Into WAV. Write to Database File Specifies the name of the indexed or hashed file used to store the data from the record operation. This option is available only when you select Record Into Database Entry. MPS Developer displays a menu of all file list entries associated with the application. The specified file is used to store the tokens and information associated with the caller-made recordings. Also provided is the Show File List option, which invokes the File List screen so you can define additional files. If you omit the database file name, MPS Developer does not write a disk record at the end of the block allowing you to set up several Record blocks in sequence before writing out the folder as a single database record. Maximum Duration Specifies the maximum length of the recording. Recording stops after the specified time limit, in seconds (the default is 60 seconds). In the case of database CMR, the specified timing parameters are added to the Item List. The maximum length can be entered from either a data card or as a literal. This option is available only for synchronous recording. DTMF Abort Characters Specifies a list of DTMF characters (tones) which can abort the recording. The list is entered either as a data card or a literal value. The value NONE prevents any DTMF from aborting the recording. The value ANY allows any DTMF to abort recording. The value 19 means either a 1 or a 9 terminates the recording. This option is available only for synchronous recording and is not required. Record ID On starting an asynchronous recording, the Record ID receives the transaction number of the recording session. When stopping an async recording, the Record ID specifies the recording session to end. This value Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Storing and Accessing Caller Message Recordings should only be specified as a data card as the value will vary according to the transaction ID automatically assigned by the system. This option is available only for asynchronous recording. Encoding Specify the encoding method for the target recording. PCM Pulse Code Modulation (PCM) is used for digital (T1/E1) systems ADPCM Adaptive Differential Pulse Code Modulation (ADPCM) is used for Analog systems Full Duplex If this checkbox is selected, the CMR message contains not only caller input but any other input on the line (such as touch tones or speech generated by the MPS). If this checkbox is not selected, the recording will contain only caller audio. Keep on Error If this checkbox is enabled, the CMR message is kept if there is a record error. If this checkbox is not enabled, recordings terminated due to error are automatically discarded. Storing and Accessing Caller Message Recordings Caller Message Recordings can be saved in two ways. They can be saved directly into an MS token datacard, meaning that they are recorded into a MultiMedia Format file on the MPS and referenced by a token. Tokens can be locally defined to an application, or globally defined throughout the system (as shared data cards). They can also be stored in a hashed or indexed database file, which can be included in other applications to access these Caller Message Recordings. If you wish to use Caller Message Recordings in more than one application, the tokens that reference the recordings must be defined in a shared folder as a shared datacard, or stored in a database that can be accessed by other applications. The following diagram shows an MMF caller message played back off the hard disk when referenced in an application. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 31 Application Development and Monitoring Caller Message Recordings can also be saved directly as vocabulary elements. This function is intended to make information that is recorded to the MPS instantly available. When Caller Message Recordings are saved as vocabulary elements, no tokens are associated with the recordings, and the recordings cannot be referenced like other elements. Refer to the functions of the Media Operations block in the MPS Developer User's Guide for instructions on how to move a CMR recording from a Media Storage file to a vocabulary file and store it as a normal vocabulary element. Playing a Caller Message Recording The most basic way of playing a Caller Message Recording is playing a message back to a caller to confirm input. This can be done using the Speak block. The Speak block allows an application to play any vocabulary element, whether its contents were recorded directly as a vocabulary element or into a media storage token datacard. The Speak block icon is shown in the following diagram. Note: When playing a record stored into a datacard, use Speak as the Message Recording type. You can also use Caller Message Recordings as prompts. Each of the questions asked of the caller can be a previously recorded CMR message. These prompts can either play vocabulary elements directly, or reference them using an MS token. 32 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Deleting a Caller Message Recording For a detailed description of the parameters and conditions associated with this block, refer to the Media Processing Server Series Application Programming Reference Guide. Deleting a Caller Message Recording When a CMR message is no longer required, delete it from the file to free up space for more recordings. Deleting a CMR message or vocabulary item: • deletes the element from the MMF • frees the Voice Data Memory (VDM) assigned to the element • eliminates the element reference from all hash tables (system and/or application specific). Note: The element is deleted only if the element has no outstanding references. If an element has outstanding references (play requests), the delete request fails and the delfail condition is generated. To delete a CMR message, use the Delete Item operation in the Media Operations block. Note: The media storage token still remains in the database. Use the DiskIO block to delete the token. Watermarks and CMR Watermarks are user-configurable limits that, when met, generate a given condition. The two watermarks relevant to Caller Message Recording are the high water mark and the low water mark. When a given MMF has recorded caller messages, and the amount of data (in percent) equals the high water mark (which is configured as a percent of the total size of the MMF), the mmfhigh condition is generated. This condition assists the MPS in managing Caller Message Recordings. Because these recordings can be rather large in terms of disk size, Avaya advises that you do not have more than a few recordings online at any time. As recordings are deleted, the amount of disk space used by an MMF decreases, and the low water mark can be reached. When the low water mark is reached, the mmflow condition is generated. The application can then resume recording, if so desired. The following diagram shows the conditions generated for high and low watermark levels. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 33 Application Development and Monitoring Recording Environment and CMR This section describes the four Caller Message Recording Environment options, which are related to how silence is recorded. RecFirstSil The RecFirstSil option is the amount of time a caller is given to start speaking after a prompt. The default is zero seconds, which indicates that the option is disabled. These options are configured by the user in the Environment block. If the caller does not speak within the interval set by RecFirstSil, the recordfail condition with status ErrZeroLengthSilence is generated. In this case, you may want to prompt the caller again, or terminate the recording. RecIntersil The Recintersil option determines how long a caller can remain silent during a Caller Message Recording before the application automatically stops recording. RecSilStrip The RecSilStrip option determines the maximum length of silence a CMR should record from a silent recording passage. This parameter helps manage disk space. 34 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Removing Unwanted Tones from a CMR Message Removing Unwanted Tones from a CMR Message When a CMR message is terminated, certain unwanted tones can get recorded along with the message. If the caller terminates the CMR message by using a touchtone, some of that touchtone might get recorded as part of the message. The function ttstrip sets the number of milliseconds of data to be stripped from the end of the CMR message, thereby removing any touchtone recordings. If the caller terminates the CMR message by simply hanging up, a PBX can return a busy (or other) signal that might also get recorded as part of the message. The function discstrip sets the number of milliseconds of data to be stripped from the end of the CMR message, thereby removing any unwanted signals from the recording. ttstrip Function To implement the ttstrip function, add the following line to the CCM configuration file located in $MPSHOME/vps#/etc/ccm_phoneline.cfg. setsvcparam ttstrip=<#>ms <#> is the number of milliseconds to strip from the end of the recording. If no value for ttstrip is specified, the default value is 100 ms. If a value is specified without units, seconds is assumed. For additional information, refer to setsvcparam in the MPS Command Reference Manual. The ttstrip value may have to be adjusted according to the CCM touchtone guard time settings. If the guard time is enabled and the guard time is set to a high value, a longer touchtone is required before it is considered a valid tone. This means that a touchtone can be recorded for a longer than normal time in a CMR message. A longer guard time requires a higher ttstrip value. To display the current value of ttstrip, use the c# repsvcparams command. discstrip Function To implement the discstrip function, add the following line to the CCM configuration file located in $MPSHOME/vps#/etc/ccm_phoneline.cfg. setsvcparam discstrip=<#>ms Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 35 Application Development and Monitoring <#> is the number of milliseconds to strip from the end of the recording. If no value for discstrip is specified, the default value is two seconds on analog systems and zero seconds on digital systems. If a value is specified without units, seconds is assumed. For additional information, refer to setsvcparam in the MPS Command Reference Manual. If this value is set too high, short (but valid) CMR messages can be completely deleted. Be sure that discstrip is not set any higher than the minimum valid recording length. To display the current value of discstrip, use the c# repsvcparams command. Sample Application - CMR Recording and Playback This section uses a sample application to demonstrate how applications use basic CMR features. Each feature is demonstrated and expanded upon, often with a summary of how you can customize a particular feature. The following sample application is a basic Caller Message Recording application. The sample application performs the following tasks: • answers the call • greets the caller • asks for information 36 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Handle Block - Block 1 • records the caller's response • repeats the response back to the caller You can give the caller the option of re-recording their response, or you can ask other questions of the caller. You may also need to inform the caller that they are being recorded (check applicable local laws). The following actions are associated with the individual blocks: • block 1 handles appropriate conditions • block 2 sets the environment for the application • block 3 greets and prompts the caller • block 4 records the caller's message • block 5 plays the caller's responses back to the caller Handle Block - Block 1 The following diagram shows how the Handle block processes various conditions. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 37 Application Development and Monitoring Environment Block - Block 2 The Envirn1 block, sets environment options for the application. Several options that can dynamically control line-specific functions and application behavior are available. When changes are made to environment options, the changes are specific only to the current application phone line and remain in effect for that phone line until explicitly changed. Some examples of environment options are call timers, phone keyboard options, host timers, and so on. Most environment options have default values (displayed next to the option in the Options list). If the option has no default value, the application uses the value set in the last Environment block for that option. 38 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Environment Block - Block 2 The default value of RecFirstSil is 0 seconds (turned off). In the preceding figure, the default value is four seconds. This timer is part of the Application and System Parameters Environment Class that sets the maximum amount of silence allowed at the beginning of a recording. Environment Options The three available environment options in the Message Recording Environment are: RecFirstSil, RecInterSil, and RecSilStrip. Option Description RecFirstSil Maximum Silence Allowed Before Voice Response The amount of time the caller has to begin speaking once the initial prompt ends. If the caller does not begin speaking within this time period, the recording terminates and the recordfail condition is generated. RecInterSil Maximum Duration of Intermediate Silence The amount of time the caller can remain silent (after beginning to speak) before the application automatically terminates the recording. No conditions are returned because the system assumes that the caller is finished recording and the message is valid. This should always be set to higher than RecSilStrip. RecSilStrip Don't Record Silence Periods Longer Than... To save disk space during recording, silence periods greater than RecSilStrip and less than RecIntersil are not included in the recording. The option RecSilStrip should always be set less than RecIntersil. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 39 Application Development and Monitoring Answer Block - Block 3 The Answer1 Answer block is programmed to receive an incoming call. Recording Into a Datacard - Block 4 Before you can use the Record block to record a message from a caller, you must first create a MultiMedia Format File to hold the messages. For instructions on how to create a MultiMedia File on the MPS system, see the MPS System Operator's Guide, the MPS System Reference Manual, or the MPS Studio User's Guide. The mkmf utility can also be used to create MultiMedia Files. Use the Record block to acquire either a single recording from the caller or a group of related recordings. The tokens generated for these recordings can be stored in separate files or grouped in hashed or indexed database files for later playback. All data cards used to store a group's record MMF files should be in the same folder. The following screen shows a sample Record block. 40 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Recording Into a Datacard - Block 4 The Record Into: field specifies the type of data structure MPS Developer uses to access each recording. If you choose to record to an MMF file or as a database entry, the application records to the MMF file you previously created for the application or system. In these cases, an MS token is returned. RecordedMessage, in this example, is an MS token datacard. If you wish to only create only one recording in a block, recording into a datacard is the simplest way to record a message. You may then reference this recording by referencing this datacard. Use the Data Card Name: field to choose the MS token you will use to reference your recording. To add a prompt to the Record block definition, click Prompt... . The following window appears: Enter the Phrases to Be Spoken and click Copy to Block. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 41 Application Development and Monitoring Playing a Caller Message Recording - Block 5 At the Speak1 Speak block, the application plays back the vocabulary element referenced by the RecordedMessage MS token. The following screen shows a sample Speak block. Debugging a CMR Application Like all MPS Developer applications, an application that uses the CMR feature can be debugged using the Graphic Execution Monitor (PeriGEM) and the VEMUL service. Using PeriGEM for Debugging PeriGEM is an application support tool that generates MPS Developer applications and runs them on a real MPS line or in a simulated MPS environment on a development system. You can execute the application continuously or one block at a time. 42 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Using PeriGEM for Debugging The PeriGEM tool can also set intermediate stopping points in the application execution. These stopping points can be selected blocks ( breakpoints) or changes in any specified system or user-defined data card/folder ( watch points). While application execution is stopped (paused), you can use the GEM to display the values of any system/user data cards. Execution can then resume. You can also use PeriGEM to test input and status or exception condition handling, and enter operating system commands. Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 43 Application Development and Monitoring For a detailed description on the use of PeriGEM and the tool's role in debugging an interactive voice processing application, refer to the MPS Developer User's Guide. Using VEMUL for Debugging VEMUL is a service that attaches to the VENGINE message server and then accepts messages from the console, the command line, or a file, and redirects them to the proper application or service. When you use PeriGEM to run an application in the simulated mode, MPS Developer invokes VEMUL. VEMUL captures all the interactive replies to the application into a history buffer using the VEMUL script language. Use this script to test and debug applications. For a detailed description on the use of the VEMUL service and the role it plays in debugging an interactive voice processing application, refer to the MPS Developer User's Guide. Monitoring CMR Applications The Avaya MPS has several built-in functions for monitoring system and line status, including: • components • spans • external host(s) • phone lines • Call Control Manager (CCM) • Voice Memory Manager (VMM) • Startup and Recovery Process (SRP) In addition, the MPS is capable of monitoring the status of CMR applications and MultiMedia Format Files. The information in this section focuses on the monitoring of CMR applications and their related MMFs. Refer to the Media Processing Server Series System Operator's Guide for detailed information on monitoring the other items mentioned in the above paragraph. 44 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 CMR Application Status Monitoring CMR Application Status Monitoring Use the V-shell or MPS Manager Application Manager (APPMAN) Status tool to check the status of applications using the CMR feature. From the Command Line You can check the status of applications on the system by entering the vmm appstatus command in a V-shell. Using MPS Manager You can use the CMR feature to monitor the status of applications. For more information, refer to the MPS Manager Quick Start Guide and the MPS ManagerReference Manual. Checking the Current Status of Multi Media Format Files The MPS uses Multi Media Format Files to store audio elements and fax data. The audio elements can be: • vocabularies (that is, spoken prompts in applications) • CMR items recorded by the application Enter the following commands in a V-shell to display a variety of status reports for MMFs. Command syntax Report vmm mmfstatus Status of all activated (loaded) MMFs, including the system-wide record file vmm refstatus <mmf_file> Element play statistics for <mmf_file>, including outstanding play/record requests c# status c#-# status CCM status for the specified line(s), including line-specific Caller Message Recording information Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 45 Application Development and Monitoring 46 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 Index A about this manual intended audience .................................................5 organization of .......................................................7 scope .....................................................................5 Answer block ..............................................................40 APPMAN ....................................................................45 Audio File ...................................................................28 B breakpoints .................................................................42 C Call condition data ......................................................21 Caller Message Recording described .............................................................27 playing ..................................................................32 saving ...................................................................31 used as a prompt .................................................32 Caller Message Recording (CMR) asynchronous recording .......................................28 delete a message .................................................33 CMR application debugging ..........................................42 application programming ......................................28 CMR Examples ..........................................................28 CMR Message removing unwanted tones from ............................35 commands ..................................................................24 conventions manual ...................................................................7 customer service ..........................................................5 cx status .....................................................................45 cx-y status ..................................................................45 D Debugging ............................................................42, 44 delete CMR message .....................................................33 Deleting a Caller Message Recording ........................33 diagnostic facilities breakpoints ..........................................................42 watchpoints ..........................................................42 discstrip .................................................................22, 35 discstrip Function .......................................................35 distributor .....................................................................6 documentation ..............................................................6 F firstsil ..........................................................................38 firstsil option ...............................................................34 Full Duplex .................................................................28 I intersil ..............................................................22, 23, 38 intersil option ..............................................................34 L launching Application Status tool .........................................45 M maxreclength ..............................................................38 Media Storage Tokens ................................................15 mkmf utility .................................................................40 MMF ...........................................................................15 MMF files creating ................................................................17 static vs. expandable ...........................................16 MMF Files activating and deactivating ...................................19 mmfhigh ................................................................20, 21 mmfhigh condition .................................................21, 33 mmflow .......................................................................20 mmflow condition ..................................................21, 33 Mode ..........................................................................28 monitoring ...................................................................44 MPS Developer ..........................................................11 MPS Manager Application Status tool, launching ........................45 MPSHOME/vps/etc/smp-mmf.cfg ...............................35 MS token datacard .....................................................31 Multi Media Files Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010 47 checking current status of ....................................45 Multi-Media File ..........................................................15 Multi-Media File Elements ..........................................15 multimedia file ............................................................31 MultiMedia File ...........................................................40 silthresh ......................................................................23 silzl ..................................................................22, 23, 38 silzl condition ..............................................................34 smp voiceconfig ..........................................................35 Speak block ..........................................................32, 42 options .................................................................32 P T PeriGEM .....................................................................42 Playing a Caller Message Recording .........................32 Terminating the Recording .........................................22 token ...........................................................................15 Tokens media storage ......................................................15 training .........................................................................6 ttstrip ...........................................................................35 ttstrip Function ............................................................35 R Record block ...................................................28, 31, 40 options .................................................................31 Record ID ...................................................................28 Record Into .................................................................28 Recording a Message ................................................28 Recording Environment ..............................................34 reseller .........................................................................6 S Sample Application CMR recording and playback ...............................36 Silence Detection .......................................................23 silstrip ....................................................................23, 38 silstrip option ..............................................................34 48 V VEMUL .......................................................................44 VENGINE ...................................................................44 vmm appstatus ...........................................................45 vmm sethwm mmfname,percent ................................22 vmm setlwm mmfname,percent .................................22 vocabularies ...............................................................45 Vocabulary File ...........................................................28 W watchpoints ................................................................42 Watermarks .....................................................20–22, 33 high and low .........................................................20 how applications use ............................................21 setting ..................................................................22 Media Processing Server Series Caller Message Recording (CMR) Feature Documentation July 2010