Media Processing Server Series Caller Message Recording (CMR

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