Network Working Group                                        D. Cromwell
Request for Comments: 2897                               Nortel Networks
Category: Informational                                      August 2000
        
Network Working Group                                        D. Cromwell
Request for Comments: 2897                               Nortel Networks
Category: Informational                                      August 2000
        

Proposal for an MGCP Advanced Audio Package

MGCP高级音频包提案

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

Abstract

摘要

This document is a proposal to add a new event/signal package to the MGCP (Media Gateway Control Protocol) protocol to control an ARF (Audio Resource Function) which may reside on a Media Gateway or specialized Audio Server.

本文件建议在MGCP(媒体网关控制协议)协议中添加新的事件/信号包,以控制可能位于媒体网关或专用音频服务器上的ARF(音频资源功能)。

This event package provides support for the standard IVR (Interactive Voice Response) operations of PlayAnnouncement, PlayCollect, and PlayRecord. It supports direct references to simple audio as well as indirect references to simple and complex audio. It provides audio variables, control of audio interruptibility, digit buffer control, special key sequences, and support for reprompting during data collection. It also provides an arbitrary number of user defined qualifiers to be used in resolving complex audio structures. For example, the user could define qualifiers for any or all of the following: language, accent, audio file format, gender, speaker, or customer.

此事件包支持PlayAnnouncement、PlayCollect和PlayRecord的标准IVR(交互式语音响应)操作。它支持对简单音频的直接引用以及对简单和复杂音频的间接引用。它提供音频变量、音频可中断性控制、数字缓冲区控制、特殊按键序列,并支持数据采集期间的重新编程。它还提供了任意数量的用户定义限定符,用于解析复杂的音频结构。例如,用户可以为以下任何或所有内容定义限定符:语言、重音、音频文件格式、性别、扬声器或客户。

Table of Contents

目录

   1. Introduction ................................................  2
   1.1. Audio Segments ............................................  3
   1.1.1. Sequences And Sets ......................................  3
   1.1.2. Segment Types ...........................................  4
   2. Advanced Audio Package ......................................  5
   3. Events ......................................................  5
   4. Event Parameters ............................................  7
   5. Return Parameters ...........................................  7
   6. Variables ................................................... 14
   7. Selectors ................................................... 17
   8. Aliases ..................................................... 18
   9. Examples .................................................... 21
   10. Formal Syntax Description .................................. 22
   11. References ................................................. 22
   12. Formal Syntax Description .................................. 25
   13. References ................................................. 32
   14. Author's Address ........................................... 33
   15. Full Copyright Statement ................................... 34
        
   1. Introduction ................................................  2
   1.1. Audio Segments ............................................  3
   1.1.1. Sequences And Sets ......................................  3
   1.1.2. Segment Types ...........................................  4
   2. Advanced Audio Package ......................................  5
   3. Events ......................................................  5
   4. Event Parameters ............................................  7
   5. Return Parameters ...........................................  7
   6. Variables ................................................... 14
   7. Selectors ................................................... 17
   8. Aliases ..................................................... 18
   9. Examples .................................................... 21
   10. Formal Syntax Description .................................. 22
   11. References ................................................. 22
   12. Formal Syntax Description .................................. 25
   13. References ................................................. 32
   14. Author's Address ........................................... 33
   15. Full Copyright Statement ................................... 34
        
1. Introduction
1. 介绍

The following syntax supports both simple and complex audio structures. A simple audio structure might be a single announcement such as "Welcome to Bell South's Automated Directory Assistance Service". A more complex audio structure might consist of an announcement followed by voice variable followed by another announcement, for example "There are thirty seven minutes remaining on your prepaid calling card," where "There are" is a prompt, the number of minutes is a voice variable, and "minutes remaining on your prepaid calling card" is another prompt.

以下语法支持简单和复杂的音频结构。一个简单的音频结构可能是一个单独的公告,例如“欢迎使用Bell South的自动目录协助服务”。更复杂的音频结构可能包括一个公告,后跟语音变量,再后跟另一个公告,例如“预付费电话卡上还有37分钟”,其中“有”是一个提示,分钟数是一个语音变量,以及“预付费电话卡上还有分钟”这是另一个提示。

It is also possible to define complex audio structures that are qualified by user defined selectors such as language, audio file format, gender, accent, customer, or voice talent. For instance, if the above example were qualified by language and accent selectors, it would be possible to play "There are thirty seven minutes remaining on your prepaid calling card" in English spoken with a southern accent or in English spoken with a mid-western accent, providing that the audio to support this had been provisioned.

还可以定义由用户定义的选择器限定的复杂音频结构,如语言、音频文件格式、性别、口音、客户或语音天赋。例如,如果上述示例由语言和口音选择器限定,则可以使用带有南方口音的英语或带有中西部口音的英语播放“您的预付费电话卡上还有37分钟”,前提是已提供支持此功能的音频。

There are two methods of specifying complex audio. The first is to directly reference the individual components. This requires a complete description of each component to be specified via the protocol. The second method is to provision the components on the Audio Server as a single entity and to export a reference to that entity to the call agent. In this case, only the reference (plus any

指定复杂音频有两种方法。第一种方法是直接引用各个组件。这需要通过协议指定每个组件的完整描述。第二种方法是将音频服务器上的组件作为单个实体进行配置,并将对该实体的引用导出到调用代理。在这种情况下,只有引用(加上任何

dynamic data required, such as a variable data) is passed via the protocol, and no specification of individual components is necessary.

所需的动态数据(如变量数据)通过协议传递,不需要指定单个组件。

The Audio Server Package provides significant functionality most of which is controlled via protocol parameters. Most parameters are optional, and where ever possible default to reasonable values. An audio application that references to provisioned, complex audio structures, and which takes advantage of parameter optionality and defaults, can specify audio events using a minimum of syntax.

音频服务器包提供了重要的功能,其中大部分功能通过协议参数控制。大多数参数都是可选的,并且尽可能默认为合理的值。一个音频应用程序引用已配置的复杂音频结构,并利用参数可选性和默认值,可以使用最少的语法指定音频事件。

1.1. Background
1.1. 出身背景

The next two sections contain background information which may be helpful in understanding the syntax.

接下来的两个部分包含可能有助于理解语法的背景信息。

1.1.1. Sequence And Sets
1.1.1. 序列和集合

The syntax supports abstractions of set and sequence for storing and referencing audio data.

该语法支持用于存储和引用音频数据的集合和序列的抽象。

A sequence is a provisioned sequence of one or more audio segments. Component segments are not necessarily all of the same type. Every sequence is assigned a unique segment id. On playback, a sequence id reference is deconstructed into its individual parts, each of which is played in order.

序列是一个或多个音频段的配置序列。组件段不一定都是同一类型。每个序列都分配了一个唯一的片段id。在播放时,序列id引用被分解为各个部分,每个部分都按顺序播放。

A set is a provisioned collection of audio segments with an associated selector. On playback, the selector value is resolved to a particular set element. Selector types are supported by the syntax, but individual selector types are not defined in the syntax except for the pre-defined language selector; they are instead defined by the user (i.e. provisioner). A user could define one or more of the following selector types: language, accent, audio file format, gender, accent, customer, or day of the week. For each selector type, the user must define a range of valid values. The user may also choose to define a default value. At runtime if a selector value is not supplied the default value is used.

集合是具有关联选择器的音频段的已配置集合。播放时,选择器值解析为特定的集合元素。语法支持选择器类型,但语法中未定义单个选择器类型,预定义语言选择器除外;它们由用户(即供应器)定义。用户可以定义以下一种或多种选择器类型:语言、重音、音频文件格式、性别、重音、客户或星期几。对于每个选择器类型,用户必须定义有效值的范围。用户还可以选择定义默认值。在运行时,如果未提供选择器值,则使用默认值。

For example, to support an application which plays a particular piece of audio in either English, French, or Russian, a provisioner would define a set with the pre-defined selector, "Lang", and would define three possible values for that selector, "eng", "fra", and "rus". The provisioner would then provision three recordings of the prompt, one in each language, and would associate the French recording with the "fra" selector value, etc. The provisioner also could define a default value of the selector when no selector value is supplied, "eng" for instance. The entire set would be assigned a unique segment id.

例如,为了支持以英语、法语或俄语播放特定音频片段的应用程序,供应器将使用预定义的选择器“Lang”定义一个集合,并将为该选择器定义三个可能的值“eng”、“fra”和“rus”。然后,provisioner将提供三条提示录音,每种语言一条,并将法语录音与“fra”选择器值等相关联。如果未提供选择器值,provisioner还可以定义选择器的默认值,例如“eng”。整个集合将被分配一个唯一的段id。

At runtime a reference to the set with the selector set to "rus" would result in the Russian version of the prompt being played. A reference to the set with no selector would result in the English version of the prompt being played since English has been set as the default selector value.

在运行时,对选择器设置为“rus”的集合的引用将导致播放俄语版本的提示。由于已将英语设置为默认选择器值,因此引用不带选择器的集合将导致播放英语版本的提示。

Nested definition of both sets and sequences is allowed, i.e. it legal to define a set of sets or a sequence of sequences. In addition, audio structures may also be specified by intermixing sets and sequences, and it is possible to specify a set of sequences or a sequence containing one or more set elements. Direct or transitive definition of a set or segment in terms of itself is not allowed.

允许对集合和序列进行嵌套定义,即定义集合集合或序列是合法的。此外,还可以通过混合集合和序列来指定音频结构,并且可以指定一组序列或包含一个或多个集合元素的序列。不允许对集合或段本身进行直接或传递性定义。

1.1.2. Segment Types
1.1.2. 段类型

The syntax supports the following segment types:

该语法支持以下段类型:

RECORDING: A reference by unique id to a single piece of recorded audio.

录制:通过唯一id引用单个录制的音频。

RECORDINGs may be provisioned or they may be made during the course of a call. A RECORDING made during the course of a call can be temporary or persistent. A temporary RECORDING lasts only for the life of the call during which it was recorded. A persistent RECORDING lasts beyond the live of the call during which it was recorded.

录音可以设置,也可以在通话过程中录制。通话过程中的录音可以是临时的,也可以是持久的。临时录音仅在通话期间持续。持续录制持续时间超过录制期间的通话实况。

A provisioned RECORDING may be replaced (or overridden) by a persistent RECORDING. A reference to the id of the provisioned RECORDING will then resolve to the persistent RECORDING. The overriding persistent audio can subsequently be deleted and the original provisioned audio can be restored.

配置的记录可以被持久记录替换(或覆盖)。然后,对已设置录制的id的引用将解析为持久录制。随后可以删除覆盖的持久音频,并恢复原始配置的音频。

A provisioned RECORDING may be overridden more than once. In this case, the id of the provisioned RECORDING refers to the latest overriding RECORDING. When the overriding RECORDING is deleted, the original provisioned RECORDING is restored, even if the segment has been overridden multiple times.

配置的录制可能会被覆盖多次。在这种情况下,已设置记录的id指的是最新的覆盖记录。删除覆盖记录时,即使该段已被多次覆盖,也会恢复原始配置的记录。

TEXT: A reference to a block of text to be converted to speech or to be displayed on a device. Reference may be by unique id to a block of provisioned text or by direct specification of text in a parameter.

文本:对要转换为语音或在设备上显示的文本块的引用。引用可以是对已设置文本块的唯一id,也可以是对参数中文本的直接指定。

SILENCE: A specification of a length of silence to be played in units of 100 milliseconds.

静音:以100毫秒为单位播放的静音长度规格。

TONE: The specification of a tone to be played by algorithmic generation. Most tones however will probably be recorded, not generated. Exact specification of this segment type is tbd.

音调:通过算法生成播放的音调规范。然而,大多数音调可能会被录制,而不是生成。此段类型的确切规格待定。

VARIABLE: The specification of a voice variable by the parameters of type, subtype, and value. Specification of variables is considered in more detail in a subsequent section of this document.

变量:通过类型、子类型和值的参数指定语音变量。本文件后续章节将更详细地考虑变量规范。

SEQUENCE: A reference by unique id to a provisioned sequence of mixed RECORDING, TEXT, SILENCE, TONE, VARIABLE, SET, or SEQUENCE segments. Nested definition of SEQUENCE segments is allowed. Direct or transitive definition of a SEQUENCE segment in terms of itself is not allowed.

序列:通过唯一id对混合录音、文本、静音、音调、变量、集合或序列段的配置序列的引用。允许序列段的嵌套定义。不允许对序列段本身进行直接或传递性定义。

SET: A reference by unique id to a provisioned set of segments. The intended and recommended use of the SET type is that all segments in the set should be semantically equivalent, however there is no real way of enforcing this restriction either in the protocol or in provisioning. Every set has an associated selector which is used at runtime to resolve the set reference to a specific element of the set. The elements of a set may one of the following segment types: RECORDING, TEXT, TONE, SILENCE, SEQUENCE, or SET. Specific selector types are not specified by the protocol and must be defined by the user. Nested definition of SET segments is allowed. Direct or transitive definition of a SET segment in terms of itself is not allowed.

集合:通过唯一id对已设置的段集合的引用。集合类型的预期用途和推荐用途是集合中的所有段在语义上都应该是等效的,但是在协议或供应中都没有强制执行此限制的实际方法。每个集合都有一个关联的选择器,在运行时用于将集合引用解析为集合的特定元素。集合的元素可以是以下片段类型之一:录音、文本、音调、静音、序列或集合。协议未指定特定的选择器类型,必须由用户定义。允许对集合段进行嵌套定义。不允许对集合段本身进行直接或传递性定义。

2. Advanced Audio Package
2. 高级音频包

Package Name: AU

包裹名称:AU

This package defines events and signals for an ARF package for an Audio Server Media Gateway.

此包为音频服务器媒体网关的ARF包定义事件和信号。

3. Events
3. 事件
______________________________________________________________________
| Symbol       |   Definition           |  R   |   S       Duration   |
|______________|________________________|______|______________________|
| pa(parms)    |   PlayAnnouncement     |      |   TO      variable   |
| pc(parms)    |   PlayCollect          |      |   TO      variable   |
| pr(parms)    |   PlayRecord           |      |   TO      variable   |
| es(parm)     |   EndSignal            |      |   BR                 |
| oc(parms)    |   OperationComplete    |  x   |                      |
| of(parms)    |   OperationFailed      |  x   |                      |
|______________|________________________|______|______________________|
        
______________________________________________________________________
| Symbol       |   Definition           |  R   |   S       Duration   |
|______________|________________________|______|______________________|
| pa(parms)    |   PlayAnnouncement     |      |   TO      variable   |
| pc(parms)    |   PlayCollect          |      |   TO      variable   |
| pr(parms)    |   PlayRecord           |      |   TO      variable   |
| es(parm)     |   EndSignal            |      |   BR                 |
| oc(parms)    |   OperationComplete    |  x   |                      |
| of(parms)    |   OperationFailed      |  x   |                      |
|______________|________________________|______|______________________|
        

The events provided by the AS Package are defined as follows:

AS包提供的事件定义如下:

PlayAnnouncement: Plays an announcement in situations where there is no need for interaction with the user. Because there is no need to monitor the incoming media stream this event is an efficient mechanism for treatments, informational announcements, etc.

PlayAnnouncement:在不需要与用户交互的情况下播放公告。因为不需要监控传入的媒体流,所以此事件是治疗、信息公告等的有效机制。

PlayCollect: Plays a prompt and collects DTMF digits entered by a user. If no digits are entered or an invalid digit pattern is entered, the user may be reprompted and given another chance to enter a correct pattern of digits. The following digits are supported: 0-9, *, #, A, B, C, D. By default PlayCollect does not play an initial prompt, makes only one attempt to collect digits, and therefore functions as a simple Collect operation. Various special purpose keys, key sequences, and key sets can be defined for use during the PlayCollect operation.

PlayCollect:播放提示并收集用户输入的DTMF数字。如果未输入任何数字或输入了无效的数字模式,则可能会重新提示用户,并给用户另一次输入正确数字模式的机会。支持以下数字:0-9、*、#、A、B、C、D。默认情况下,PlayCollect不播放初始提示,只尝试一次收集数字,因此可以作为简单的收集操作。可以定义各种专用键、键序列和键集,以便在PlayCollect操作期间使用。

PlayRecord: Plays a prompt and records user speech. If the user does not speak, the user may be reprompted and given another chance to record. By default PlayRecord does not play an initial prompt, makes only one attempt to record, and therefore functions as a simple Record operation.

播放录制:播放提示并录制用户讲话。如果用户不说话,用户可能会被重新点名,并获得另一次录音机会。默认情况下,PlayRecord不播放初始提示,只尝试录制一次,因此其功能相当于一个简单的录制操作。

OperationComplete: Detected upon the successful completion of a Play, PlayRecord, or Play Collect signal.

操作完成:在成功完成播放、播放录制或播放采集信号时检测到。

OperationFailed: Detected upon the failure of a Play, PlayRecord, or PlayCollect signal.

操作失败:在播放、播放录制或播放采集信号失败时检测到。

EndSignal: Gracefully terminates a Play, PlayCollect, or PlayRecord signal. For each of these signals, if the signal is terminated with the EndSignal signal the resulting OperationComplete event or OperationFailed event will contain all the parameters it would normally, including any collected digits or the recording id of the recording that was in progress when the EndSignal signal was received.

EndSignal:优雅地终止播放、播放收藏或播放录制信号。对于这些信号中的每一个,如果信号以EndSignal信号终止,则产生的OperationComplete事件或OperationFailed事件将包含正常情况下的所有参数,包括接收EndSignal信号时收集的任何数字或正在进行的记录的记录id。

4. Signal Interactions
4. 信号交互作用

If an Advanced Audio Package signal is active on an endpoint and another signal of the same type is applied, the two signals including parameters and parameter values will compared If the signals are identical, the signal in progress will be allowed to continue and the new signal will be discarded. Because of this behavior the Advanced Audio Package may not interoperate well with some other packages such as the Line and Trunk packages.

如果端点上的高级音频包信号处于活动状态,并且应用了另一个相同类型的信号,则将比较包括参数和参数值的两个信号。如果信号相同,则允许进行中的信号继续,并丢弃新信号。由于这种行为,高级音频包可能无法与一些其他包(如Line和Trunk包)很好地互操作。

5. Parameters
5. 参数

The PlayAnnouncement, PlayRecord, and PlayCollect events may each be qualified by a string of parameters, most of which are optional. Where appropriate, parameters default to reasonable values. The only event with a required parameter is PlayAnnouncement. If a Play-Announcement event is not provided with a parameter specifying some form of playable audio an error is returned to the application.

PlayAnnouncement、PlayRecord和PlayCollect事件都可以由一系列参数限定,其中大多数参数是可选的。在适当的情况下,参数默认为合理的值。唯一具有必需参数的事件是PlayAnnouncement。如果播放公告事件未提供指定某种形式的可播放音频的参数,则会向应用程序返回错误。

These parameters are shown in the following table:

这些参数如下表所示:

_______________________________________________________________________
| Parameters                                                           |
|______________________________________________________________________|
| Symbol    |  Definition                     |   pl   |  pc    |  pr  |
|___________|_________________________________|________|________|______|
| an        |  announcement                   |   x    |        |      |
| ip        |  initial prompt                 |        |  x     |  x   |
| rp        |  reprompt                       |        |  x     |  x   |
| nd        |  no digits reprompt             |        |  x     |      |
| ns        |  no speech reprompt             |        |        |  x   |
| fa        |  failure announcement           |        |  x     |  x   |
| sa        |  success announcement           |        |  x     |  x   |
| ni        |  non-interruptible play         |        |  x     |  x   |
| it        |  iterations                     |   x    |        |      |
| iv        |  interval                       |   x    |        |      |
| du        |  duration                       |   x    |        |      |
| sp        |  speed                          |   x    |  x     |  x   |
| vl        |  volume                         |   x    |  x     |  x   |
| cb        |  clear digit buffer             |        |  x     |  x   |
| mx        |  maximum # of digits            |        |  x     |      |
| mn        |  minimum # of digits            |        |  x     |      |
| dp        |  digit pattern                  |        |  x     |      |
| fdt       |  first digit timer              |        |  x     |      |
| idt       |  inter digit timer              |        |  x     |      |
| edt       |  extra digit timer              |        |  x     |      |
| prt       |  pre-speech timer               |        |        |  x   |
| pst       |  post-speech timer              |        |        |  x   |
| rlt       |  total recording length timer   |        |        |  x   |
| rsk       |  restart key                    |        |  x     |  x   |
| rik       |  reinput key                    |        |  x     |  x   |
| rtk       |  return key                     |        |  x     |  x   |
| psk       |  position key                   |        |  x     |  x   |
| stk       |  stop key                       |        |  x     |  x   |
| sik       |  start input key                |        |  x     |      |
| eik       |  end input key                  |        |  x     |  x   |
| iek       |  include end input key          |        |  x     |      |
| na        |  number of attempts             |        |  x     |  x   |
|___________|_________________________________|________|________|______|
        
_______________________________________________________________________
| Parameters                                                           |
|______________________________________________________________________|
| Symbol    |  Definition                     |   pl   |  pc    |  pr  |
|___________|_________________________________|________|________|______|
| an        |  announcement                   |   x    |        |      |
| ip        |  initial prompt                 |        |  x     |  x   |
| rp        |  reprompt                       |        |  x     |  x   |
| nd        |  no digits reprompt             |        |  x     |      |
| ns        |  no speech reprompt             |        |        |  x   |
| fa        |  failure announcement           |        |  x     |  x   |
| sa        |  success announcement           |        |  x     |  x   |
| ni        |  non-interruptible play         |        |  x     |  x   |
| it        |  iterations                     |   x    |        |      |
| iv        |  interval                       |   x    |        |      |
| du        |  duration                       |   x    |        |      |
| sp        |  speed                          |   x    |  x     |  x   |
| vl        |  volume                         |   x    |  x     |  x   |
| cb        |  clear digit buffer             |        |  x     |  x   |
| mx        |  maximum # of digits            |        |  x     |      |
| mn        |  minimum # of digits            |        |  x     |      |
| dp        |  digit pattern                  |        |  x     |      |
| fdt       |  first digit timer              |        |  x     |      |
| idt       |  inter digit timer              |        |  x     |      |
| edt       |  extra digit timer              |        |  x     |      |
| prt       |  pre-speech timer               |        |        |  x   |
| pst       |  post-speech timer              |        |        |  x   |
| rlt       |  total recording length timer   |        |        |  x   |
| rsk       |  restart key                    |        |  x     |  x   |
| rik       |  reinput key                    |        |  x     |  x   |
| rtk       |  return key                     |        |  x     |  x   |
| psk       |  position key                   |        |  x     |  x   |
| stk       |  stop key                       |        |  x     |  x   |
| sik       |  start input key                |        |  x     |      |
| eik       |  end input key                  |        |  x     |  x   |
| iek       |  include end input key          |        |  x     |      |
| na        |  number of attempts             |        |  x     |  x   |
|___________|_________________________________|________|________|______|
        

Parameters to the Advanced Audio Package events are defined as follows:

高级音频包事件的参数定义如下:

Announcement:

公告:

An announcement to be played. Consists of one or more audio segments.

要播放的公告。由一个或多个音频段组成。

Initial Prompt:

初始提示:

The initial announcement prompting the user to either enter DTMF digits or to speak. Consists of one or more audio segments. If not specified (the default), the event immediately begins digit collection or recording.

提示用户输入DTMF数字或说话的初始公告。由一个或多个音频段组成。如果未指定(默认设置),事件将立即开始数字采集或记录。

Reprompt:

谴责:

Played after the user has made an error such as entering an invalid digit pattern or not speaking. Consists of one or more audio segments. Defaults to the Initial Prompt.

在用户出现错误(如输入无效数字模式或不说话)后播放。由一个或多个音频段组成。默认为初始提示。

No Digits Reprompt:

无数字重复:

Played after the user has failed to enter a valid digit pattern during a PlayCollect event. Consists of one or more audio segments. Defaults to the Reprompt.

在PlayCollect事件期间,用户未能输入有效数字模式后播放。由一个或多个音频段组成。默认为Reprompt。

No Speech Reprompt:

无言语责备:

Played after the user has failed to speak during a PlayRecord event. Consists of one or more audio segments. Defaults to the Reprompt.

在PlayRecord事件中用户无法讲话后播放。由一个或多个音频段组成。默认为Reprompt。

Failure Announcement:

故障通知:

Played when all data entry attempts have failed. Consists of one or more audio segments. No default.

当所有数据输入尝试失败时播放。由一个或多个音频段组成。没有默认值。

Success Announcement:

成功公告:

Played when data collection has succeeded. Consists of one or more audio segments. No default.

数据收集成功时播放。由一个或多个音频段组成。没有默认值。

Non-Interruptible Play:

不可中断播放:

If set to true, initial prompt is not interruptible by either voice or digits. Defaults to false. Valid values are the text strings "true" and "false".

如果设置为true,则初始提示不能被语音或数字中断。默认为false。有效值是文本字符串“true”和“false”。

Iterations:

迭代:

The maximum number of times an announcement is to be played. A value of minus one (-1) indicates the announcement is to be repeated forever. Defaults to one (1).

播放公告的最大次数。值为负1(-1)表示该公告将永远重复。默认为一(1)。

Interval:

间隔时间:

The interval of silence to be inserted between iterative plays. Specified in units of 100 milliseconds. Defaults to 10 (1 second).

在重复播放之间插入的静音间隔。以100毫秒为单位指定。默认值为10(1秒)。

Duration:

持续时间:

The maximum amount of time to play and possibly replay an announcement. Takes precedence over iteration and interval. Specified in units of 100 milliseconds. No default.

播放并可能重播公告的最长时间。优先于迭代和间隔。以100毫秒为单位指定。没有默认值。

Speed:

速度:

The relative playback speed of announcement specifiable as a positive or negative percentage of the original playback speed.

公告的相对播放速度可指定为原始播放速度的正百分比或负百分比。

Volume:

卷:

The relative playback volume of announcement specifiable as a positive or negative decibel variation from the original play-back volume.

公告的相对播放音量可指定为原始播放音量的正或负分贝变化。

Clear Digit Buffer:

清除数字缓冲区:

If set to true, clears the digit buffer before playing the initial prompt. Defaults to false. Valid values are the text strings "true" and "false".

如果设置为true,则在播放初始提示之前清除数字缓冲区。默认为false。有效值是文本字符串“true”和“false”。

Maximum # Of Digits:

最大位数:

The maximum number of digits to collect. Defaults to one. This parameter should not be specified if the Digit Pattern parameter is present.

要收集的最大位数。默认为1。如果存在数字模式参数,则不应指定此参数。

Minimum # Of Digits:

最小位数:

The minimum number of digits to collect. Defaults to one. This parameter should not be specified if the Digit Pattern parameter is present.

要收集的最小位数。默认为1。如果存在数字模式参数,则不应指定此参数。

Digit Pattern:

数字模式:

A legal digit map as described in section 7.1.14 of the Megaco protocol [6] using the DTMF mappings associated with the Megaco DTMF Detection Package described in the Megaco protocol document

Megaco协议[6]第7.1.14节所述的合法数字映射,使用与Megaco协议文件中所述Megaco DTMF检测包相关的DTMF映射

[6]. This parameter should not be specified if one or both of the Minimum # Of Digits parameter and the Maximum Number Of Digits parameter is present.

[6]. 如果存在最小位数参数和最大位数参数中的一个或两个,则不应指定此参数。

First Digit Timer:

第一位计时器:

The amount of time allowed for the user to enter the first digit. Specified in units of 100 milliseconds. 50 (5 seconds).

允许用户输入第一个数字的时间量。以100毫秒为单位指定。50(5秒)。

Inter Digit Timer:

数字间计时器:

The amount of time allowed for the user to enter each subsequent digit. Specified units of 100 milliseconds seconds. Defaults to 30 (3 seconds).

允许用户输入每个后续数字的时间量。指定的100毫秒/秒的单位。默认值为30(3秒)。

Extra Digit Timer:

额外数字计时器:

The amount of time to wait for a user to enter a final digit once the maximum expected amount of digits have been entered. Typically this timer is used to wait for a terminating key in applications where a specific key has been defined to terminate input. Specified in units of 100 milliseconds. If not specified, this timer is not activated.

一旦输入了预期的最大位数,等待用户输入最终位数的时间量。通常,此计时器用于在已定义特定键以终止输入的应用程序中等待终止键。以100毫秒为单位指定。如果未指定,则此计时器未激活。

Pre-speech Timer:

演讲前计时器:

The amount of time to wait for the user to initially speak. Specified in units of 100 milliseconds. Defaults to 30 (3 seconds).

等待用户最初发言的时间量。以100毫秒为单位指定。默认值为30(3秒)。

Post-speech Timer:

语音后计时器:

The amount of silence necessary after the end of the last speech segment for the recording to be considered complete. Specified in units of 100 milliseconds. Defaults to 20 (2 seconds).

在最后一段讲话结束后,认为录音已完成所需的沉默量。以100毫秒为单位指定。默认值为20(2秒)。

Recording Length Timer:

记录长度计时器:

The maximum allowable length of the recording, not including pre or post speech silence. Specified in units of 100 milliseconds. This parameter is mandatory.

录音的最大允许长度,不包括演讲前或演讲后的沉默。以100毫秒为单位指定。此参数是必需的。

Restart Key:

重新启动键:

Defines a key sequence consisting of a command key optionally followed by zero or more keys. This key sequence has the following action: discard any digits collected or recording in progress, replay the prompt, and resume digit collection or

定义一个键序列,该序列由命令键(可选)后跟零个或多个键组成。此按键序列具有以下操作:放弃任何收集的数字或正在录制的数字,重播提示,然后恢复数字收集或录制

recording. No default. An application that defines more than one command key sequence, will typically use the same command key for all command key sequences. If more than one command key sequence is defined, then all key sequences must consist of a command key plus at least one other key.

记录。没有默认值。定义多个命令键序列的应用程序通常会对所有命令键序列使用相同的命令键。如果定义了多个命令键序列,则所有键序列必须由一个命令键加上至少一个其他键组成。

Reinput Key:

重新输入键:

Defines a key sequence consisting of a command key optionally followed by zero or more keys. This key sequence has the following action: discard any digits collected or recordings in progress and resume digit collection or recording. No default. An application that defines more than one command key sequence, will typically use the same command key for all command key sequences. If more than one command key sequence is defined, then all key sequences must consist of a command key plus at least one other key.

定义一个键序列,该序列由命令键(可选)后跟零个或多个键组成。此按键序列具有以下操作:放弃任何收集的数字或正在录制的数字,然后恢复数字收集或录制。没有默认值。定义多个命令键序列的应用程序通常会对所有命令键序列使用相同的命令键。如果定义了多个命令键序列,则所有键序列必须由一个命令键加上至少一个其他键组成。

Return Key:

返回键:

Defines a key sequence consisting of a command key optionally followed by zero or more keys. This key sequence has the following action: terminate the current event and any queued event and return the terminating key sequence to the call processing agent. No default. An application that defines more than one command key sequence, will typically use the same command key for all command key sequences. If more than one command key sequence is defined, then all key sequences must consist of a command key plus at least one other key.

定义一个键序列,该序列由命令键(可选)后跟零个或多个键组成。此密钥序列具有以下操作:终止当前事件和任何排队事件,并将终止密钥序列返回给呼叫处理代理。没有默认值。定义多个命令键序列的应用程序通常会对所有命令键序列使用相同的命令键。如果定义了多个命令键序列,则所有键序列必须由一个命令键加上至少一个其他键组成。

Position Key:

位置键:

Defines a key with the following action. Stop playing the current announcement and resume playing at the beginning of the first, last, previous, next, or the current segment of the announcement. No default. The actions for the position key are fst, lst, prv, nxt, and cur.

使用以下操作定义键。停止播放当前公告,并在公告的第一个、最后一个、上一个、下一个或当前片段开始时继续播放。没有默认值。位置键的动作有fst、lst、prv、nxt和cur。

Stop Key:

停止键:

Defines a key with the following action. Terminate playback of the announcement. No default.

使用以下操作定义键。终止公告的播放。没有默认值。

Start Input Keys:

启动输入键:

Defines a set of keys that are acceptable as the first digit collected. This set of keys can be specified to interrupt a playing announcement or to not interrupt a playing announcement.

定义一组可接受为收集的第一个数字的键。这组键可以指定为中断播放公告或不中断播放公告。

The default key set is 0-9. The default behavior is to interrupt a playing announcement when a Start Input Key is pressed. This behavior can be overidden for the initial prompt only by using the ni (Non-Interruptible Play) parameter. Specification is a list of keys with no separators, e.g. 123456789#.

默认密钥集为0-9。默认行为是在按下开始输入键时中断播放公告。只有使用ni(不可中断播放)参数,才能在初始提示中避免此行为。规格是不带分隔符的钥匙列表,例如123456789#。

End Input Key:

结束输入键:

Specifies a key that signals the end of digit collection or voice recording. The default end input key is the # key. To specify that no End Input Key be used the parameter is set to the string "null". The default behavior not to return the End Input Key in the digits returned to the call agent. This behavior can be overidden by the Include End Input Key (eik) parameter.

指定表示数字采集或语音录制结束的键。默认的结束输入键是#键。要指定不使用结束输入键,请将参数设置为字符串“null”。默认行为是不在返回给呼叫代理的数字中返回结束输入键。此行为可以通过Include End Input Key(eik)参数来控制。

Include End Input Key:

包括结束输入键:

By default the End Input Key is not included in the collected digits returned to the call agent. If this parameter is set to "true" then the End Input Key will be returned with the collected digits returned to the call agent. Default is "false".

默认情况下,返回给呼叫代理的收集的数字中不包括结束输入键。如果此参数设置为“true”,则将返回结束输入键,并将收集的数字返回给呼叫代理。默认值为“false”。

Number Of Attempts:

尝试次数:

The number of attempts the user needed to enter a valid digit pattern or to make a recording. Defaults to 1. Also used as a return parameter to indicate the number of attempts the user made.

用户输入有效数字模式或录制所需的尝试次数。默认值为1。还用作返回参数,指示用户尝试的次数。

Record Persistent Audio:

录制持久音频:

If set to true, the recording that is made is persistent instead of temporary. Defaults to false. Valid values are the text strings "true" and "false".

如果设置为true,则所做的录制是持久的,而不是临时的。默认为false。有效值是文本字符串“true”和“false”。

Delete Persistent Audio

删除持久音频

Indicates that the specified persistent audio segment is to be deleted. This parameter is carried by the PlayRecord event, although nothing is either played or recorded in this case.

指示要删除指定的永久音频段。此参数由PlayRecord事件携带,但在这种情况下不会播放或录制任何内容。

Override Audio:

覆盖音频:

Indicates that the specified provisioned audio segment is to be overridden with a persistent audio segment to be recorded in the PlayRecord operation that carries this parameter.

指示指定的已设置音频段将被包含此参数的PlayRecord操作中要记录的持久音频段覆盖。

Restore Audio:

恢复音频:

Indicates that the provisioned audio segment originally associated with the specified segment id is to be restored and that the overriding persistent audio is to be deleted. This parameter is carried by the PlayRecord event, although nothing is either played or recorded in this case.

指示要还原最初与指定段id关联的已设置音频段,并删除覆盖的持久音频。此参数由PlayRecord事件携带,但在这种情况下不会播放或录制任何内容。

6. Return Parameters
6. 返回参数

Each event has an associated set of possible return parameters which are listed in the following tables.

每个事件都有一组相关的可能返回参数,这些参数在下表中列出。

________________________________________________________________________
| Return Parameters                                                     |
|_______________________________________________________________________|
| Symbol    |   Definition                   |  pl    |   pc    |  pr   |
|___________|________________________________|________|_________|_______|
| vi        |   voice interrupt              |        |         |  x    |
| ik        |   interrupting key sequence    |        |   x     |       |
| ap        |   amount played                |        |   x     |  x    |
| na        |   number of attempts           |        |   x     |  x    |
| dc        |   digits collected             |        |   x     |       |
| ri        |   recording id                 |        |         |  x    |
| rc        |   return code                  |  x     |   x     |  x    |
|___________|________________________________|________|_________|_______|
        
________________________________________________________________________
| Return Parameters                                                     |
|_______________________________________________________________________|
| Symbol    |   Definition                   |  pl    |   pc    |  pr   |
|___________|________________________________|________|_________|_______|
| vi        |   voice interrupt              |        |         |  x    |
| ik        |   interrupting key sequence    |        |   x     |       |
| ap        |   amount played                |        |   x     |  x    |
| na        |   number of attempts           |        |   x     |  x    |
| dc        |   digits collected             |        |   x     |       |
| ri        |   recording id                 |        |         |  x    |
| rc        |   return code                  |  x     |   x     |  x    |
|___________|________________________________|________|_________|_______|
        

Voice Interrupted:

声音中断:

Set to "true" if the initial prompt of a PlayRecord operation was interrupted by voice. Defaults to "false".

如果播放录制操作的初始提示被语音中断,则设置为“真”。默认为“false”。

Interrupting Key Sequence:

中断键序列:

The key or key sequence that interrupted the initial prompt of a PlayCollect specified using the digit map characters "0" through "9" and "A" through "F" as defined in the DTMF Detection Package in the Megaco protocol document [6].

使用Megaco协议文件[6]中DTMF检测包中定义的数字映射字符“0”至“9”和“a”至“F”中断播放集合初始提示的键或键序列。

Amount Played:

播放量:

The length played of an initial prompt if the prompt was interrupted, in 100 ms units.

如果提示被中断,则初始提示的播放长度,以100毫秒为单位。

Number Of Attempts:

尝试次数:

The number of attempts the user needed to enter a valid digit pattern or to make a recording. Defaults to 1. Also used as an input parameter to specify the number of attempts the user will be allowed to enter a valid digit pattern or make a recording.

用户输入有效数字模式或录制所需的尝试次数。默认值为1。还用作输入参数,用于指定允许用户输入有效数字模式或录制的尝试次数。

Digits Collected:

收集的数字:

The DTMF digits that were collected during a PlayCollect operation specified using the digit map characters "0" through "9" and "A" through "F" as defined in the DTMF Detection Package in the Megaco protocol document [6].

使用Megaco协议文档[6]中DTMF检测包中定义的数字映射字符“0”至“9”和“a”至“F”指定的播放采集操作期间采集的DTMF数字。

Recording ID:

录制ID:

A 32 bit binary integer assigned to audio recorded during the Play Record operation.

分配给在播放录制操作期间录制的音频的32位二进制整数。

Return Code:

返回代码:

A return code giving the final status of the operation. Two ranges are defined:

给出操作最终状态的返回代码。定义了两个范围:

                   _________________________________
                   | Range  |        Meaning        |
                   |________|_______________________|
                   |100-199 | successful completion |
                   |300-399 | error                 |
                   |________|_______________________|
        
                   _________________________________
                   | Range  |        Meaning        |
                   |________|_______________________|
                   |100-199 | successful completion |
                   |300-399 | error                 |
                   |________|_______________________|
        

The following return codes are define:

定义了以下返回代码:

________________________________________________________________________
|Return Code |                         Meaning                          |
|____________|__________________________________________________________|
|    100     | Success                                                  |
|    300     | Unspecified failure                                      |
|    301     | Bad audio ID                                             |
|    302     | Bad selector type                                        |
|    303     | Bad selector value                                       |
|    304     | Variable type not supported                              |
|    305     | Variable subtype not supported                           |
|    306     | Invalid variable name                                    |
|    307     | Variable value out of range                              |
|    308     | Inconsistent variable specification                      |
|    309     | Alias not found                                          |
|    310     | Extra sequence data                                      |
|    311     | Missing sequence data                                    |
|    312     | Mismatch between play specification and provisioned data |
|    313     | Language not set                                         |
|    314     | Remove override error                                    |
|    315     | Override error                                           |
|    316     | Delete audio error                                       |
|    317     | Unable to record temporary audio                         |
|    318     | Unable to delete temporary audio                         |
|    319     | Unable to record persistent audio                        |
|    320     | Unable to delete persistent audio                        |
|    321     | Unable to override non-existent segment id               |
|    322     | Unable to remove override from non-existent segment id   |
|    323     | Provisioning error                                       |
|    324     | Unspecified hardware failure                             |
|    325     | Syntax error                                             |
|    326     | No digits                                                |
|    327     | No speech                                                |
|    328     | Spoke too long                                           |
|    329     | Digit pattern not matched                                |
|    330     | Max attempts exceeded                                    |
|____________|__________________________________________________________|
        
________________________________________________________________________
|Return Code |                         Meaning                          |
|____________|__________________________________________________________|
|    100     | Success                                                  |
|    300     | Unspecified failure                                      |
|    301     | Bad audio ID                                             |
|    302     | Bad selector type                                        |
|    303     | Bad selector value                                       |
|    304     | Variable type not supported                              |
|    305     | Variable subtype not supported                           |
|    306     | Invalid variable name                                    |
|    307     | Variable value out of range                              |
|    308     | Inconsistent variable specification                      |
|    309     | Alias not found                                          |
|    310     | Extra sequence data                                      |
|    311     | Missing sequence data                                    |
|    312     | Mismatch between play specification and provisioned data |
|    313     | Language not set                                         |
|    314     | Remove override error                                    |
|    315     | Override error                                           |
|    316     | Delete audio error                                       |
|    317     | Unable to record temporary audio                         |
|    318     | Unable to delete temporary audio                         |
|    319     | Unable to record persistent audio                        |
|    320     | Unable to delete persistent audio                        |
|    321     | Unable to override non-existent segment id               |
|    322     | Unable to remove override from non-existent segment id   |
|    323     | Provisioning error                                       |
|    324     | Unspecified hardware failure                             |
|    325     | Syntax error                                             |
|    326     | No digits                                                |
|    327     | No speech                                                |
|    328     | Spoke too long                                           |
|    329     | Digit pattern not matched                                |
|    330     | Max attempts exceeded                                    |
|____________|__________________________________________________________|
        

Here are some examples of how the return parameters are used:

以下是如何使用返回参数的一些示例:

The PlayAnnouncement event completed successfully:

PlayAnnouncement事件已成功完成:

      O: AU/oc(rc=100)
        
      O: AU/oc(rc=100)
        

The PlayAnnouncement event failed because an alias was not found:

PlayAnnouncement事件失败,因为找不到别名:

      O: AU/of(rc=309)
        
      O: AU/of(rc=309)
        

The PlayCollect event completed successfully on the user's second attempt when the user entered the digits 04375182:

当用户输入数字04375182时,PlayCollect事件在用户第二次尝试时成功完成:

      O: AU/oc(rc=100 na=2 dc=04375182)
        
      O: AU/oc(rc=100 na=2 dc=04375182)
        

The PlayRecord event was successful on the user's first attempt; the id of the recording made by the user is 983:

用户第一次尝试时PlayRecord事件成功;用户录制的id为983:

      O: AU/oc(rc=100 na=1 ri=983)
        
      O: AU/oc(rc=100 na=1 ri=983)
        
7. Segment Descriptors
7. 段描述符

Segment descriptors are used with the an, ip, rp, nd, ns, fa, and sa parameters to define the segments that make up an announcement.

段描述符和an、ip、rp、nd、ns、fa和sa参数一起使用,以定义组成公告的段。

________________________________________________________________________
|                         Segment Descriptors                           |
|_______________________________________________________________________|
|      Symbol                        |         Definition               |
|____________________________________|__________________________________|
|      32 bit binary number          |         segment identifier       |
|      ts                            |         text to speech           |
|      dt                            |         display text             |
|      si                            |         silence                  |
|      to                            |         tone                     |
|      vb                            |         variable                 |
|____________________________________|__________________________________|
        
________________________________________________________________________
|                         Segment Descriptors                           |
|_______________________________________________________________________|
|      Symbol                        |         Definition               |
|____________________________________|__________________________________|
|      32 bit binary number          |         segment identifier       |
|      ts                            |         text to speech           |
|      dt                            |         display text             |
|      si                            |         silence                  |
|      to                            |         tone                     |
|      vb                            |         variable                 |
|____________________________________|__________________________________|
        

Segment Identifier:

段标识符:

A 32 bit binary integer identifying a provisioned entity such as a recording, set, sequence, etc.

一种32位二进制整数,用于标识已配置的实体,如记录、集合、序列等。

Text To Speech:

文字转语音:

Specifies a text string to be converted to speech.

指定要转换为语音的文本字符串。

Display Text:

显示文本:

Specifies a text string to be displayed on a device.

指定要在设备上显示的文本字符串。

Silence:

沉默:

Specifies a length of silence to be played in units of 100 milliseconds.

指定以100毫秒为单位播放的静音长度。

Tone:

语气:

Specifies a tone to be played by algorithmic generation. Exact specification of this parameter is tbd. Most tones will likely be recorded, not generated.

指定算法生成要播放的音调。此参数的确切规格待定。大多数音调可能会被录制,而不是生成。

Variable:

变量:

Specifies a voice variable by type, subtype, and value. Variables are more completely defined in a subsequent section of the document.

按类型、子类型和值指定语音变量。变量在文档的后续部分中有更完整的定义。

8. Variables
8. 变量

The syntax supports two kinds of variables. Embedded embedded variables are variables that have been provisioned as part of a segment. Standalone variables are completely specified in the protocol message.

该语法支持两种类型的变量。嵌入式变量是作为段的一部分提供的变量。独立变量完全在协议消息中指定。

Typically embedded variables are provisioned along with recorded speech, e.g. "A representative will be with you in approximately 5 minutes. If you would prefer to leave a voice message, press 1 now". where the variable is the number of minutes. This kind of variable is often referred to as an embedded variable.

通常,嵌入式变量与录制的语音一起提供,例如“代表将在大约5分钟后与您见面。如果您希望留下语音信息,请立即按1”。其中变量是分钟数。这类变量通常被称为嵌入变量。

Variables are specified by the following parameters: type, subtype, and value. Variable types include Date, Money, Number, Time, etc. Subtype is a refinement of type. For example the variable type Money might have an associated range of subtypes such as Dollar, Rupee, Dinar, etc. Not all variables require a subtype, and for these variables the subtype parameter should be set to null.

变量由以下参数指定:类型、子类型和值。变量类型包括日期、货币、数字、时间等。子类型是类型的细化。例如,变量类型Money可能具有关联的子类型范围,如美元、卢比、第纳尔等。并非所有变量都需要子类型,对于这些变量,子类型参数应设置为null。

For embedded variables, the type and subtype must be provisioned. The value may be provisioned. If it is not provisioned it must be specified as part of the variable reference. In a list of segments, an embedded variable value specification applies only to the segment that directly precedes it. If a segment has multiple embedded variables, the values must be given in the order in which the variables are encountered when the segment is played.

对于嵌入变量,必须设置类型和子类型。可以设置该值。如果未设置,则必须将其指定为变量引用的一部分。在段列表中,嵌入式变量值规范仅适用于直接位于其前面的段。如果一段有多个嵌入变量,则必须按照播放该段时遇到变量的顺序给出值。

Some examples follow below:

以下是一些例子:

A standalone variable:

独立变量:

      S: pa(an=vb(mny,usd,1153))
        
      S: pa(an=vb(mny,usd,1153))
        

An embedded variable:

嵌入变量:

      S: pa(an=37<1153>)
        
      S: pa(an=37<1153>)
        

Not all variables, such as the date variable shown in the next example, require a subtype. In that case, the subtype is encoded with the value "null":

并非所有变量(如下一个示例中显示的日期变量)都需要子类型。在这种情况下,子类型使用值“null”进行编码:

      S: pa(an=vb(dat,null,101598))
        
      S: pa(an=vb(dat,null,101598))
        

In some cases it may be desirable to play an announcement that contains an embedded variable without playing the variable itself. To do this a single "null" is provided for the value:

在某些情况下,可能需要播放包含嵌入变量的公告,而不播放变量本身。为此,为该值提供一个“null”:

      S: pa(an=37<null>)
        
      S: pa(an=37<null>)
        
________________________________________________________________________
| Variables Qualifiers                                                  |
|_______________________________________________________________________|
| Symbol  | Definition               |  Type  | Subtype   | Subtype Of  |
|_________|__________________________|________|___________|_____________|
| dat     | date                     |  x     |           |             |
| dig     | digits                   |  x     |           |             |
| gen     | generic                  |        | x         | dig         |
| ndn     | North American DN        |        | x         | dig         |
| dur     | duration                 |  x     |           |             |
| mth     | month                    |  x     |           |             |
| mny     | money                    |  x     |           |             |
| num     | number                   |  x     |           |             |
| crd     | cardinal                 |        | x         | nm          |
| ord     | ordinal                  |        | x         | nm          |
| sil     | silence                  |  x     |           |             |
| str     | string                   |  x     |           |             |
| txt     | text                     |  x     |           |             |
| dsp     | display text             |        | x         | txt         |
| spk     | text to speech           |        | x         | txt         |
| tme     | time                     |  x     |           |             |
| t12     | twelve hour format       |        | x         | tme         |
| t24     | twenty four hour format  |        | x         | tme         |
| ton     | tone                     |  x     |           |             |
| wkd     | weekday                  |  x     |           |             |
|_________|__________________________|________|___________|_____________|
        
________________________________________________________________________
| Variables Qualifiers                                                  |
|_______________________________________________________________________|
| Symbol  | Definition               |  Type  | Subtype   | Subtype Of  |
|_________|__________________________|________|___________|_____________|
| dat     | date                     |  x     |           |             |
| dig     | digits                   |  x     |           |             |
| gen     | generic                  |        | x         | dig         |
| ndn     | North American DN        |        | x         | dig         |
| dur     | duration                 |  x     |           |             |
| mth     | month                    |  x     |           |             |
| mny     | money                    |  x     |           |             |
| num     | number                   |  x     |           |             |
| crd     | cardinal                 |        | x         | nm          |
| ord     | ordinal                  |        | x         | nm          |
| sil     | silence                  |  x     |           |             |
| str     | string                   |  x     |           |             |
| txt     | text                     |  x     |           |             |
| dsp     | display text             |        | x         | txt         |
| spk     | text to speech           |        | x         | txt         |
| tme     | time                     |  x     |           |             |
| t12     | twelve hour format       |        | x         | tme         |
| t24     | twenty four hour format  |        | x         | tme         |
| ton     | tone                     |  x     |           |             |
| wkd     | weekday                  |  x     |           |             |
|_________|__________________________|________|___________|_____________|
        

Date:

日期:

Speaks a date specified as YYYYMMDD (per ISO 8601, International Date and Time Notation [7]). For example "19981015" is spoken as "October fifteenth nineteen ninety eight".

表示指定为YYYYMMDD的日期(根据ISO 8601,国际日期和时间符号[7])。例如,“19981015”被称为“1998年10月15日”。

Digits:

数字:

Speaks a string of digits one at a time. If the subtype is North American DN, the format of which is NPA-NXX-XXXX, the digits are spoken with appropriate pauses between the NPA and NXX and between the NXX and XXXX. If the subtype is generic, the digits are spoken no pauses.

一次只说一个数字串。如果子类型为北美DN,格式为NPA-NXX-XXXX,则在NPA和NXX之间以及NXX和XXXX之间以适当的停顿说出数字。如果子类型为泛型,则不暂停地说出数字。

Duration:

持续时间:

Duration is specified in seconds and is spoken in one or more units of time as appropriate, e.g. "3661" is spoken as "One hour, one minute, and one second".

持续时间以秒为单位,并酌情以一个或多个时间单位表示,例如,“3661”表示为“一小时、一分钟和一秒”。

Money:

金钱:

Money is specified in the smallest units of a given currency and is spoken in one or more units of currency as appropriate, e.g. "110" in U.S. Dollars would be spoken "one dollar and ten cents". The three letter codes defined in ISO 4217, Currency And Funds Code List [5] are used to specify the currency subtype. A small excerpt from ISO 4217 follows:

货币是以给定货币的最小单位表示的,并根据情况以一种或多种货币单位表示,例如,美元中的“110”表示为“一美元十美分”。ISO 4217“货币和资金代码列表[5]中定义的三个字母代码用于指定货币子类型。ISO 4217的小摘录如下:

      __________________________________________________________
      |Alpha-code | Numeric-code | Currency |      Entity       |
      |___________|______________|__________|___________________|
      |GQE        | 226          | Ekwele   | Equatorial Guinea |
      |GRD        | 300          | Drachma  | Greece            |
      |GTQ        | 320          | Quetzal  | Guatemala         |
      |___________|______________|__________|___________________|
        
      __________________________________________________________
      |Alpha-code | Numeric-code | Currency |      Entity       |
      |___________|______________|__________|___________________|
      |GQE        | 226          | Ekwele   | Equatorial Guinea |
      |GRD        | 300          | Drachma  | Greece            |
      |GTQ        | 320          | Quetzal  | Guatemala         |
      |___________|______________|__________|___________________|
        

Money can be specified in negative or positive units of currency. In the above example "-110" would be spoken as "minus one dollar and ten cents".

货币可以指定为负或正的货币单位。在上面的例子中“-110”将被称为“减去一美元十美分”。

Month:

月份:

Speaks the specified month, e.g. "10" is spoken as "October". Specification is in MM format with "01" denoting January, "02" denoting February, etc.

表示指定月份,例如,“10”表示“10月”。规范采用MM格式,“01”表示一月,“02”表示二月等。

Number:

编号:

Speaks a number in cardinal form or in ordinal form. For example, "100" is spoken as "one hundred" in cardinal form and "one hundredth" in ordinal form. Cardinal numbers can be specified as negative or positive.

以基数形式或序数形式说数字。例如,“100”在基数形式中被称为“100”,在序数形式中被称为“100”。基数可以指定为负数或正数。

Silence:

沉默:

Plays a specified period of silence. Specification is in 100 millisecond units.

播放一段特定的沉默时间。规格以100毫秒为单位。

String:

字符串:

Speaks each character of a string, e.g. "a34bc" is spoken "A, three, four, b, c". Valid characters are a-z, A-Z, 0-9, #, and *.

表示字符串的每个字符,例如“a34bc”表示“a、三、四、b、c”。有效字符为a-z、a-z、0-9、#和*。

Text:

正文:

Produces the specified text as speech or displays it on a device.

将指定的文本生成为语音或在设备上显示。

Time:

时间:

Speaks a time in either twelve hour format or twenty four hour format depending on the specified subtype. For example "1700" is spoken as "Five pm" in twelve hour format or as "Seventeen hundred hours" in twenty four hour format. Specification is in HHMM format per ISO 8601, International Data and Time Notation [7].

根据指定的子类型,以12小时格式或24小时格式表示时间。例如,“1700”在12小时格式中被称为“下午5点”,在24小时格式中被称为“1700小时”。规范采用符合ISO 8601《国际数据和时间符号》[7]的HHMM格式。

Tone:

语气:

Plays an algorithmically generated tone, specification of which is tbd. Probably most applications will use prerecorded tones.

播放算法生成的音调,其规格为tbd。可能大多数应用程序都会使用预先录制的音调。

Weekday:

工作日:

Speaks the day of the week, e.g. "Monday". Weekdays are specified as single digits, with "1" denoting Sunday, "2" denoting Monday, etc.

表示一周中的某一天,例如“星期一”。工作日指定为个位数,“1”表示星期天,“2”表示星期一等。

9. Selectors
9. 选择器

Selector types, except for the pre-defined "Lang" (language) selector, are definable by the user and may be applied to an individual segment within an operation or to all the segments in an operation. For each selector type, the user must also define a range of values that the selector can assume.

除预定义的“Lang”(语言)选择器外,选择器类型可由用户定义,并可应用于操作中的单个段或操作中的所有段。对于每种选择器类型,用户还必须定义选择器可以假定的值范围。

For example, if the user defines a selector of type "phase-of-the-moon", he might also define the legal values for that selector to be "new", "half", "full", "harvest", and "blue". For the selector to actually work at runtime, audio associated with each of the selector values must be provisioned.

例如,如果用户定义了类型为“月亮相位”的选择器,他还可以将该选择器的合法值定义为“新”、“半”、“满”、“收获”和“蓝色”。要使选择器在运行时实际工作,必须提供与每个选择器值关联的音频。

Although not required, it is suggested that the three letter codes defined in ISO standard 639-2, Code For The Representation Of Names Of Languages [4] be used as values for user defined language selectors. A small excerpt from ISO 639-2 follows:

虽然没有要求,但建议将ISO标准639-2中定义的三字母代码,即语言名称表示代码[4]用作用户定义语言选择器的值。ISO 639-2的小摘录如下:

                             _________________
                             |Code | Language |
                             |_____|__________|
                             |cze  | Czech    |
                             |cym  | Welsh    |
                             |dan  | Danish   |
                             |_____|__________|
        
                             _________________
                             |Code | Language |
                             |_____|__________|
                             |cze  | Czech    |
                             |cym  | Welsh    |
                             |dan  | Danish   |
                             |_____|__________|
        

Selectors can apply to entire operations or to a segment within an operation. If an operation contains multiple segments, each segment may have its own set of selectors. If selectors for an individual segment and selectors for the entire operation are present, the selector for the individual segment takes precedence for that segment. The selectors for the operation apply to all segments within that operation that do not have individual segment selectors. If a selector set is not specified, provisioned defaults are used.

选择器可以应用于整个操作或操作中的某个段。如果一个操作包含多个段,则每个段可能有自己的选择器集。如果存在单个段的选择器和整个操作的选择器,则单个段的选择器优先于该段。该操作的选择器适用于该操作中没有单独段选择器的所有段。如果未指定选择器集,则使用已设置的默认值。

Selectors are applied to variables only after the variable has been resolved. For instance if a date variable resolved to "October 15th, 1998" the voice with which the variable is spoken could resolve to either male or female if a gender selector had been defined.

选择器仅在解析变量后应用于变量。例如,如果一个日期变量解析为“1998年10月15日”,那么在定义了性别选择器的情况下,使用该变量的声音可以解析为男性或女性。

10. Aliases
10. 别名

Aliasing of audio segments is supported. The alias to segment id mapping is provisioned and at runtime the alias is resolved to its associated segment id. The syntax for an alias is inclusion of the alias between two forward slashes, e.g.:

支持音频段的别名。设置别名到段id的映射,并在运行时将别名解析为其关联的段id。别名的语法是在两个正斜杠之间包含别名,例如:

      S: pa(an=/not-in-service/)
        
      S: pa(an=/not-in-service/)
        
11. Examples
11. 例子

This section presents a number of examples of how the syntax is used. Note that arguments to an event are separated by a one or more whitespace characters, which can be either an ASCII space character or an ASCII tabulation character.

本节介绍了一些如何使用语法的示例。请注意,事件的参数由一个或多个空格字符分隔,空格字符可以是ASCII空格字符或ASCII制表字符。

Play an announcement that consists of a single segment:

播放由单个片段组成的公告:

      S: pa(an=39)
        
      S: pa(an=39)
        

Play an announcement that consists of multiple segments:

播放由多个片段组成的公告:

      S: pa(an=39,40,47)
        
      S: pa(an=39,40,47)
        

Play an announcement that consists of a recording followed by silence followed by text to speech followed by a standalone voice variable:

播放一条公告,该公告由录音、静音、文字到语音、独立语音变量组成:

      S: pa(an=39 si(30) ts(hello) vb(my,usd,3999))
        
      S: pa(an=39 si(30) ts(hello) vb(my,usd,3999))
        

Play an announcement with an embedded variable. If the first three segments of the previous announcement were provisioned as segment 40, the following would be exactly equivalent to the play in the preceding example:

播放带有嵌入变量的公告。如果先前公告的前三个片段被设置为片段40,则以下内容将完全等同于上例中的剧本:

      S: pa(an=40<3999>)
        
      S: pa(an=40<3999>)
        

Play an announcement with two embedded variables:

使用两个嵌入变量播放公告:

      S: pa(an=113<3999,10151998>)
        
      S: pa(an=113<3999,10151998>)
        

Play a prompt and collect a single digit. If need be, play a reprompt, a no digits prompt, and a success or failure announcement. Give the user three attempts to enter a digit:

播放提示并收集单个数字。如果需要,播放重播、无数字提示和成功或失败公告。给用户三次输入数字的尝试:

      S: pc(ip=21 rp=109 nd=102 fa=81 sa=72 na=3)
        
      S: pc(ip=21 rp=109 nd=102 fa=81 sa=72 na=3)
        

Play a prompt and collect a single digit. If the user does not enter a digit replay the initial prompt. Give the user three attempts to enter a digit:

播放提示并收集单个数字。如果用户未输入数字,则重播初始提示。给用户三次输入数字的尝试:

      S: pc(ip=21 na=3)
        
      S: pc(ip=21 na=3)
        

Play a prompt and record voice. If the user does not speak play a no speech prompt. Give the user two attempts to record:

播放提示并录制语音。如果用户不说话,则播放无语音提示。给用户两次尝试记录的机会:

      S: pr(ip=22 ns=42 na=2)
        
      S: pr(ip=22 ns=42 na=2)
        

Play an announcement at ninety percent of its original speed and five decibels softer than its original volume. Play the announcement three times with two seconds of silence between plays.

以90%的原始速度播放公告,比原始音量低5分贝。播放公告三次,两次播放之间保持两秒钟的沉默。

      S: pa(an=27 sp=90 vl=-5 it=3 iv=20)
        
      S: pa(an=27 sp=90 vl=-5 it=3 iv=20)
        

Give the user two attempts to enter a three digit pattern. Clear the digit buffer before playing the prompt. The user can signal end of input using the # key, which is not returned to the call agent with the collected digits.

给用户两次输入三位数模式的尝试。播放提示之前,请清除数字缓冲区。用户可以使用#键发出输入结束的信号,该键不会使用收集的数字返回给呼叫代理。

      S: pc(ip=43 cb=true mn=3 mx=3 na=2)
        
      S: pc(ip=43 cb=true mn=3 mx=3 na=2)
        

Give the user three attempts to enter a three digit pattern. If the user enters one digits or two digits on the first or second attempts a reprompt is played. If the user enters no digits on the first or second attempts a no digits reprompt is played. If all three attempts fail, a failure announcement is played. If one of the attempts is successful, a success announcement is played and the collected digits are returned to the call agent. The user can signal end of input using the # key. If the # key terminates a successful input attempt, the collected digits, but not the # key, are returned to the call agent.

给用户三次输入三位数模式的尝试。如果用户在第一次或第二次尝试时输入一位或两位数字,则会播放重发。如果用户在第一次或第二次尝试时未输入任何数字,则会播放“无数字重发”。如果三次尝试均失败,则播放失败公告。如果其中一次尝试成功,将播放成功公告,并将收集到的数字返回给呼叫代理。用户可以使用#键发出输入结束的信号。如果#键终止了成功的输入尝试,则收集的数字(而不是#键)将返回给呼叫代理。

      S: pc(ip=87 rp=5 nd=409 fa=9 sa=18 mx=3 na=3)
        
      S: pc(ip=87 rp=5 nd=409 fa=9 sa=18 mx=3 na=3)
        

Give the user a single attempt to enter a a 1 to 4 digit pattern, allow 8 seconds for the user to enter the first digit, and allow 6 seconds for the user to enter each subsequent digit. If the subsequent digit timer expires after the user has less than four digits, the digits collected are returned to the call agent. The user can signal end of input using the # key which is not returned to the call agent with the collected digits.

给用户一次输入1到4位数字的尝试,给用户8秒钟的时间输入第一位数字,给用户6秒钟的时间输入后面的每个数字。如果随后的数字计时器在用户少于四个数字后过期,则收集的数字将返回给呼叫代理。用户可以使用#键发出输入结束的信号,该键不会使用收集的数字返回给呼叫代理。

      S: pc(ip=4 fdt=80 idt=60 mx=4)
        
      S: pc(ip=4 fdt=80 idt=60 mx=4)
        

Give the user three chances to enter an 11 digit number that begins with 0 or 1. If the user makes a mistake while entering digits, he can press the * key to discard any digits already collected, replay the prompt, and resume collection.

给用户三次机会输入以0或1开头的11位数字。如果用户在输入数字时出错,他可以按*键放弃任何已收集的数字,重放提示,然后继续收集。

      S: pc(ip=33 mn=11 mx=11 sik=01 rsk=* na=3)
        
      S: pc(ip=33 mn=11 mx=11 sik=01 rsk=* na=3)
        

Give the user three chances to enter an 11 digit number that begins with 0 or 1. If the user makes a mistake while entering digits, he can press the key sequence *11 to discard any digits already collected, replay the prompt, and resume collection. If the user enters the key sequence *12 the play collect is terminated along with any queued events, and the terminating key sequence is returned to the call agent for processing.

给用户三次机会输入以0或1开头的11位数字。如果用户在输入数字时出错,他可以按sequence*11键放弃任何已收集的数字,重放提示,然后继续收集。如果用户输入密钥序列*12,则播放收集将与任何排队事件一起终止,并且终止的密钥序列将返回给呼叫代理进行处理。

      S: pc(ip=33 mn=11 mx=11 sik=01 rsk=*11 rtk=*12 na=3)
        
      S: pc(ip=33 mn=11 mx=11 sik=01 rsk=*11 rtk=*12 na=3)
        

Give the user two chances to make a recording. After playing the prompt, wait 5 seconds for the user to speak, otherwise replay the initial prompt and try again. If the user does speak, wait for seven seconds after speech stops to make sure the user is finished. If the recording is successful, return a reference to the recording to the call agent.

给用户两次录音的机会。播放提示后,请等待5秒钟,等待用户讲话,否则请重播初始提示并重试。如果用户确实讲话,请在语音停止后等待七秒钟,以确保用户已完成。如果录制成功,请向呼叫代理返回对录制的引用。

      S: pr(ip=6 prt=50 pst=70 na=2)
        
      S: pr(ip=6 prt=50 pst=70 na=2)
        

Play an announcement in the default language:

以默认语言播放公告:

      S: pa(an=5)
        
      S: pa(an=5)
        

Play the same announcement the English. In the first example, the selector applies to the an segment; in the second it applies to the pa operation. For these particular examples, the net effect is the same.

在英语中播放相同的广播。在第一个示例中,选择器应用于A段;在第二种情况下,它适用于pa操作。对于这些特定的例子,净效应是相同的。

      S: pa(an=5[Lang=eng])    or    S: pa(an=5)[Lang=eng]
        
      S: pa(an=5[Lang=eng])    or    S: pa(an=5)[Lang=eng]
        

Play an announcement in Danish using a female voice with a Cajun accent.

用带有卡津口音的女声用丹麦语播放公告。

      S: pa(an=6)[Lang=dan,gender=female,accent=cajun]
        
      S: pa(an=6)[Lang=dan,gender=female,accent=cajun]
        

Play the first part of an announcement in English, the second part in the default language, and the third part in French.

用英语播放公告的第一部分,用默认语言播放第二部分,用法语播放第三部分。

      S: pa(an=5[Lang=eng],6,7[Language=fra])
        
      S: pa(an=5[Lang=eng],6,7[Language=fra])
        

Play an announcement with an embedded variable in English:

播放带有英语嵌入变量的公告:

      S: pa(an=5<101599>)[Lang=eng]
        
      S: pa(an=5<101599>)[Lang=eng]
        
12. Formal Syntax Description
12. 形式语法描述
AudPkgEvent = PlayAnnouncement / PlayCollect / PlayRecord /
              OperationComplete / OperationFailed / EndSignal
        
AudPkgEvent = PlayAnnouncement / PlayCollect / PlayRecord /
              OperationComplete / OperationFailed / EndSignal
        
PlayAnnouncement =  [ AdvAudioPkgToken SLASH ]  PlayAnnToken
                    LPAREN PlayAnnParmList RPAREN  [ OpSelectorList ]
        
PlayAnnouncement =  [ AdvAudioPkgToken SLASH ]  PlayAnnToken
                    LPAREN PlayAnnParmList RPAREN  [ OpSelectorList ]
        
PlayCollect  =  [ AdvAudioPkgToken SLASH ]  PlayColToken
                LPAREN [ PlayColParmList ]  RPAREN  [ OpSelectorList ]
        
PlayCollect  =  [ AdvAudioPkgToken SLASH ]  PlayColToken
                LPAREN [ PlayColParmList ]  RPAREN  [ OpSelectorList ]
        
PlayRecord  =  [ AdvAudioPkgToken SLASH ]  PlayRecToken
               LPAREN [ PlayRecParmList ]  RPAREN  [ OpSelectorList ]
        
PlayRecord  =  [ AdvAudioPkgToken SLASH ]  PlayRecToken
               LPAREN [ PlayRecParmList ]  RPAREN  [ OpSelectorList ]
        
OperationComplete  =  [ AdvAudioPkgToken SLASH ]  OpCompleteToken
               LPAREN OpCompleteParmList  RPAREN
        
OperationComplete  =  [ AdvAudioPkgToken SLASH ]  OpCompleteToken
               LPAREN OpCompleteParmList  RPAREN
        
OperationFailed  =  [ AdvAudioPkgToken SLASH ]  OpFailedToken
               LPAREN ReturnCodeParm RPAREN
        
OperationFailed  =  [ AdvAudioPkgToken SLASH ]  OpFailedToken
               LPAREN ReturnCodeParm RPAREN
        
EndSignal  =  [ AdvAudioPkgToken SLASH ]  EndSignalToken
              LPAREN SignalParm RPAREN
        
EndSignal  =  [ AdvAudioPkgToken SLASH ]  EndSignalToken
              LPAREN SignalParm RPAREN
        

OpSelectorList = LSQUARE OpSelector *( COMMA OpSelector ) RSQUARE

OpSelectorList=LSQUARE OpSelector*(逗号OpSelector)RSQUARE

OpSelector  =  NAME EQUALS NAME
        
OpSelector  =  NAME EQUALS NAME
        

PlayAnnParmList = PlayAnnParm *( WSP PlayAnnParm )

PlayAnnParmList=PlayAnnParm*(WSP PlayAnnParm)

PlayColParmList = PlayColParm *( WSP PlayColParm )

PlayColParmList=PlayColParm*(WSP PlayColParm)

PlayRecParmList = PlayRecParm *( WSP PlayRecParm )

PlayRecParmList=PlayRecParm*(WSP PlayRecParm)

OpCompleteParmList = OpCompleteParm *( WSP OpCompleteParm )

OpCompleteParmList=OpCompleteParm*(WSP OpCompleteParm)

PlayAnnParm  =  ( AnnouncementParm / IterationsParm / IntervalParm /
                  DurationParm / SpeedParm / VolumeParm )
        
PlayAnnParm  =  ( AnnouncementParm / IterationsParm / IntervalParm /
                  DurationParm / SpeedParm / VolumeParm )
        
PlayColParm  =  ( InitPromptParm / RepromptParm / NoDigitsParm /
                  FailAnnParm / SuccessAnnParm / NoInterruptParm /
                  SpeedParm / VolumeParm / ClearBufferParm /
                  MaxDigitsParm / MinDigitsParm / DigitPatternParm /
                  FirstDigitParm / InterDigitParm / ExtraDigitParm /
                  RestartKeyParm / ReinputKeyParm / ReturnKeyParm /
                  PosKeyParm / StopKeyParm / StartInputKeyParm /
                  EndInputKeyParm / IncludeEndInputKey /
                  NumAttemptsParm  )
        
PlayColParm  =  ( InitPromptParm / RepromptParm / NoDigitsParm /
                  FailAnnParm / SuccessAnnParm / NoInterruptParm /
                  SpeedParm / VolumeParm / ClearBufferParm /
                  MaxDigitsParm / MinDigitsParm / DigitPatternParm /
                  FirstDigitParm / InterDigitParm / ExtraDigitParm /
                  RestartKeyParm / ReinputKeyParm / ReturnKeyParm /
                  PosKeyParm / StopKeyParm / StartInputKeyParm /
                  EndInputKeyParm / IncludeEndInputKey /
                  NumAttemptsParm  )
        
PlayRecParm  =  ( InitPromptParm / RepromptParm / NoSpeechParm /
                  FailAnnParm / SuccessAnnParm / NoInterruptParm /
                  SpeedParm / VolumeParm / ClearBufferParm /
                  PreSpeechParm / PostSpeechParm / RecordLenParm /
                  RestartKeyParm / ReinputKeyParm / ReturnKeyParm /
                  PosKeyParm / StopKeyParm / EndInputKeyParm /
                  RecPersistParm / OverrideAudioParm /
                  RestoreAudioParm /  DeletePersistParm /
                  NumAttemptsParm  )
        
PlayRecParm  =  ( InitPromptParm / RepromptParm / NoSpeechParm /
                  FailAnnParm / SuccessAnnParm / NoInterruptParm /
                  SpeedParm / VolumeParm / ClearBufferParm /
                  PreSpeechParm / PostSpeechParm / RecordLenParm /
                  RestartKeyParm / ReinputKeyParm / ReturnKeyParm /
                  PosKeyParm / StopKeyParm / EndInputKeyParm /
                  RecPersistParm / OverrideAudioParm /
                  RestoreAudioParm /  DeletePersistParm /
                  NumAttemptsParm  )
        
OpCompleteParm  =  ( VoiceInterruptParm / IntKeySeqParm /
                     NumAttemptsParm / AmtPlayedParm / DigitsColParm /
                     RecordingIdParm / ReturnCodeParm )
        
OpCompleteParm  =  ( VoiceInterruptParm / IntKeySeqParm /
                     NumAttemptsParm / AmtPlayedParm / DigitsColParm /
                     RecordingIdParm / ReturnCodeParm )
        
AnnouncementParm  =  AnParmToken EQUALS Segmentlist
        
AnnouncementParm  =  AnParmToken EQUALS Segmentlist
        
InitPromptParm  =  IpParmToken EQUALS  Segmentlist
        
InitPromptParm  =  IpParmToken EQUALS  Segmentlist
        
RepromptParm  =  RpParmToken EQUALS Segmentlist
        
RepromptParm  =  RpParmToken EQUALS Segmentlist
        
NoDigitsParm  =  NdParmToken EQUALS Segmentlist
        
NoDigitsParm  =  NdParmToken EQUALS Segmentlist
        
NoSpeechParm  =  NsParmToken EQUALS Segmentlist
        
NoSpeechParm  =  NsParmToken EQUALS Segmentlist
        
FailAnnParm  =  FaParmToken EQUALS Segmentlist
        
FailAnnParm  =  FaParmToken EQUALS Segmentlist
        
SuccessAnnParm  =  SaParmToken EQUALS Segmentlist
        
SuccessAnnParm  =  SaParmToken EQUALS Segmentlist
        
DurationParm  =  DuParmToken EQUALS NUMBER
        
DurationParm  =  DuParmToken EQUALS NUMBER
        

IterationsParm = ItParmToken EQUALS ( NUMBER / "-1" )

IterationsParm=ItParmToken等于(数字/“-1”)

IntervalParm  =  IvParmToken EQUALS NUMBER
        
IntervalParm  =  IvParmToken EQUALS NUMBER
        
SpeedParm  =  SpParmToken EQUALS SIGNEDINT
        
SpeedParm  =  SpParmToken EQUALS SIGNEDINT
        
VolumeParm  =  VlParmToken EQUALS SIGNEDINT
        
VolumeParm  =  VlParmToken EQUALS SIGNEDINT
        
NoInterruptParm  =  NiParmToken EQUALS BOOLSTR
        
NoInterruptParm  =  NiParmToken EQUALS BOOLSTR
        
ClearBufferParm  =  CbParmToken EQUALS BOOLSTR
        
ClearBufferParm  =  CbParmToken EQUALS BOOLSTR
        
MaxDigitsParm  =  MxParmToken EQUALS NUMBER
        
MaxDigitsParm  =  MxParmToken EQUALS NUMBER
        
MinDigitsParm  =  MnParmToken EQUALS NUMBER
        
MinDigitsParm  =  MnParmToken EQUALS NUMBER
        
DigitPatternParm  =  DpParmToken EQUALS DIGITPATTERN
        
DigitPatternParm  =  DpParmToken EQUALS DIGITPATTERN
        
FirstDigitParm  =  FdtParmToken EQUALS NUMBER
        
FirstDigitParm  =  FdtParmToken EQUALS NUMBER
        
InterDigitParm  =  IdtParmToken EQUALS NUMBER
        
InterDigitParm  =  IdtParmToken EQUALS NUMBER
        
ExtraDigitParm  =  EdtParmToken EQUALS NUMBER
        
ExtraDigitParm  =  EdtParmToken EQUALS NUMBER
        
PreSpeechParm  =  PrtParmToken EQUALS NUMBER
        
PreSpeechParm  =  PrtParmToken EQUALS NUMBER
        
PostSpeechParm  =  PstParmToken EQUALS NUMBER
        
PostSpeechParm  =  PstParmToken EQUALS NUMBER
        
RecordLenParm   =  RltParmToken EQUALS NUMBER
        
RecordLenParm   =  RltParmToken EQUALS NUMBER
        
RestartKeyParm  =  RskParmToken EQUALS CommandKeySequence
        
RestartKeyParm  =  RskParmToken EQUALS CommandKeySequence
        
ReinputKeyParm    =  RikParmToken EQUALS CommandKeySequence
        
ReinputKeyParm    =  RikParmToken EQUALS CommandKeySequence
        
ReturnKeyParm    =  RtkParmToken EQUALS CommandKeySequence
        
ReturnKeyParm    =  RtkParmToken EQUALS CommandKeySequence
        

PosKeyParm = PskParmToken EQUALS KeyPadKey COMMA PosKeyAction

PosKeyParm=PskParmToken=KeyPadKey逗号PosKeyAction

PosKeyAction  =  FirstSegmentToken / LastSegmentToken /
                 PreviousSegmentToken / NextSegmentToken /
                 CurrentSegmentToken
        
PosKeyAction  =  FirstSegmentToken / LastSegmentToken /
                 PreviousSegmentToken / NextSegmentToken /
                 CurrentSegmentToken
        
StopKeyParm    =  StkParmToken EQUALS KeyPadKey
        
StopKeyParm    =  StkParmToken EQUALS KeyPadKey
        
StartInputKeyParm  =  SikParmToken EQUALS KeySet
        
StartInputKeyParm  =  SikParmToken EQUALS KeySet
        
EndInputKeyParm  =  EikParmToken EQUALS KeyPadKey
        
EndInputKeyParm  =  EikParmToken EQUALS KeyPadKey
        
IncludeEndinputKey  =  IekParmToken EQUALS BOOLSTR
        
IncludeEndinputKey  =  IekParmToken EQUALS BOOLSTR
        
RecPersistParm  =  RpaParmToken EQUALS BOOLSTR
        
RecPersistParm  =  RpaParmToken EQUALS BOOLSTR
        
OverrideAudioParm  =  OaParmToken EQUALS SEGID
        
OverrideAudioParm  =  OaParmToken EQUALS SEGID
        
RestoreAudioParm  =  RaParmToken EQUALS SEGID
        
RestoreAudioParm  =  RaParmToken EQUALS SEGID
        
DeletePersistParm  =  DpaParmToken EQUALS SEGID
        
DeletePersistParm  =  DpaParmToken EQUALS SEGID
        
NumAttemptsParm  =  NaParmToken EQUALS NUMBER
        
NumAttemptsParm  =  NaParmToken EQUALS NUMBER
        
VoiceInterruptParm  =  ViParmToken EQUALS BOOLSTR
        
VoiceInterruptParm  =  ViParmToken EQUALS BOOLSTR
        
IntKeySeqParm  =  IkParmToken EQUALS CommandKeySequence
        
IntKeySeqParm  =  IkParmToken EQUALS CommandKeySequence
        
AmtPlayedParm  =  ApParmToken EQUALS NUMBER
        
AmtPlayedParm  =  ApParmToken EQUALS NUMBER
        
DigitsColParm  =  DcParmToken EQUALS KeySequence
        
DigitsColParm  =  DcParmToken EQUALS KeySequence
        
RecordingIdParm  =  RiParmToken EQUALS NUMBER
        
RecordingIdParm  =  RiParmToken EQUALS NUMBER
        
ReturnCodeParm  =  RcParmToken EQUALS  3*3(DIGIT)
        
ReturnCodeParm  =  RcParmToken EQUALS  3*3(DIGIT)
        
KeyPadKey    =  "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" /
                "*" / "#"
        
KeyPadKey    =  "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" /
                "*" / "#"
        
CommandKeySequence  =  1*3(KeyPadKey)
        
CommandKeySequence  =  1*3(KeyPadKey)
        
KeySequence = 1*64(KeyPadKey)
        
KeySequence = 1*64(KeyPadKey)
        
KeySet       =   1*11(KeyPadKey)
        
KeySet       =   1*11(KeyPadKey)
        

SignalParm = SgParmToken EQUALS ( PlayAnnToken / PlayColToken / PlayRecToken ) RPAREN

SignalParm=SgParmToken等于(PlayAnnToken/PlayColToken/PlayRecToken)RPAREN

Segmentlist = SegmentDescriptor *( COMMA SegmentDescriptor )

Segmentlist=SegmentDescriptor*(逗号SegmentDescriptor)

SegmentDescriptor  =  ( ( SegmentId [ EmbedVarList ]
                          [ SegSelectorList ]  ) /
                        ( TextToSpeechSeg [ SegSelectorList ]  ) /
                        ( DisplayTextSeg [ SegSelectorList ]  )  /
                        ( VariableSeg [ SegSelectorList ]  ) /
                          SilenceSeg )
        
SegmentDescriptor  =  ( ( SegmentId [ EmbedVarList ]
                          [ SegSelectorList ]  ) /
                        ( TextToSpeechSeg [ SegSelectorList ]  ) /
                        ( DisplayTextSeg [ SegSelectorList ]  )  /
                        ( VariableSeg [ SegSelectorList ]  ) /
                          SilenceSeg )
        
SegmentId  =  ( Segid / Alias )
        
SegmentId  =  ( Segid / Alias )
        
TextToSpeechSeg  =  TextToSpeechSegToken LPAREN NAME RPAREN
        
TextToSpeechSeg  =  TextToSpeechSegToken LPAREN NAME RPAREN
        
DisplayTextSeg  =  DisplayTextSegToken LPAREN NAME RPAREN
        
DisplayTextSeg  =  DisplayTextSegToken LPAREN NAME RPAREN
        
SilenceSeg  =  SilenceSegToken LPAREN NAME RPAREN
        
SilenceSeg  =  SilenceSegToken LPAREN NAME RPAREN
        

VariableSeg = VariableSegToken LPAREN FullSpecVar RPAREN

VariableSeg=VariableSegToken LPAREN FullSpecVar RPAREN

Segid  =  NUMBER
        
Segid  =  NUMBER
        
Alias  =  SLASH NAME SLASH
        
Alias  =  SLASH NAME SLASH
        

EmbedVarList = LANGLE NAME *( COMMA NAME ) RANGLE

EmbedVarList=LANGLE NAME*(逗号名)RANGLE

SegSelectorList = LSQUARE SegSelector *( COMMA SegSelector ) RSQUARE

SegSelectorList=LSQUARE SegSelector*(逗号SegSelector)RSQUARE

SegSelector  =  NAME EQUALS NAME
        
SegSelector  =  NAME EQUALS NAME
        
FullSpecVar  =  ( DateVariable / DigitsVariable / DurationVariable /
                  MonthVariable / MoneyVariable / NumberVariable /
                  SilenceVariable / StringVariable / TextVariable /
                  TimeVariable / WeekdayVariable )
        
FullSpecVar  =  ( DateVariable / DigitsVariable / DurationVariable /
                  MonthVariable / MoneyVariable / NumberVariable /
                  SilenceVariable / StringVariable / TextVariable /
                  TimeVariable / WeekdayVariable )
        

DateVariable = DateVarToken COMMA NullStrToken COMMA Date

DateVariable=DateVarToken逗号NullStrToken逗号日期

Date  =  8*8(DIGIT)
        
Date  =  8*8(DIGIT)
        

DigitsVariable = DigitsVarToken COMMA (NorthAmericanDnToken / GenericDigitsToken) COMMA NUMBER

DigitsVariable=DigitsVarToken逗号(北美Candentoken/GenericDigitsToken)逗号号

DurationVariable = DurationVarToken COMMA NullStrToken COMMA NUMBER

DurationVariable=DurationVarToken逗号NullStroken逗号编号

MoneyVariable  =  MoneyVarToken COMMA 3*3(ALPHA) COMMA OPTSIGNEDINT
        
MoneyVariable  =  MoneyVarToken COMMA 3*3(ALPHA) COMMA OPTSIGNEDINT
        

MonthVariable = MonthVarToken COMMA NullStrToken COMMA Month

MonthVariable=MonthVarToken逗号NullStrToken逗号月

Month = "01" / "02" / "03" / "04" / "05" / "06" / "07" / "08" / "09" /
        "10" / "11" / "12"
        
Month = "01" / "02" / "03" / "04" / "05" / "06" / "07" / "08" / "09" /
        "10" / "11" / "12"
        
NumberVariable  =  (NumberVarToken COMMA CardinalNumberToken COMMA
                    OPTSIGNEDINT) / (NumberVarToken COMMA
                    OrdinalNumberToken COMMA NUMBER)
        
NumberVariable  =  (NumberVarToken COMMA CardinalNumberToken COMMA
                    OPTSIGNEDINT) / (NumberVarToken COMMA
                    OrdinalNumberToken COMMA NUMBER)
        

SilenceVariable = SilenceVarToken COMMA NullStrToken COMMA NUMBER

沉默变量=沉默变量逗号NullStrToken逗号编号

StringVariable = StringVarToken COMMA NullStrToken COMMA *(KeyPadKey) OrdinalNumberToken) COMMA NUMBER

StringVariable=StringVarToken逗号NullStrToken逗号*(KeyPadKey)OrdinalNumberToken)逗号号

SilenceVariable = SilenceVarToken COMMA NullStrToken COMMA NUMBER

沉默变量=沉默变量逗号NullStrToken逗号编号

StringVariable = StringVarToken COMMA NullStrToken COMMA *(KeyPadKey)

StringVariable=StringVarToken逗号NullStrToken逗号*(KeyPadKey)

TextVariable = TextVarToken COMMA (DisplayTextToken / TextToSpeechToken) COMMA NAME

TextVariable=TextVarToken逗号(DisplayTextToken/TextToSpeechToken)逗号名称

TimeVariable  =  TimeVarToken COMMA (TwelveHourFormatToken /
                 TwentyFourHourFormatToken) COMMA 4*4(DIGIT)
        
TimeVariable  =  TimeVarToken COMMA (TwelveHourFormatToken /
                 TwentyFourHourFormatToken) COMMA 4*4(DIGIT)
        

WeekdayVariable = WeekdayVarToken COMMA NullStrToken COMMA NAME

WeekdayVariable=WeekdayVarToken逗号NullStrToken逗号名称

AdvAudioPkgToken = "A" PlayAnnToken = "pa" PlayColToken = "pc" PlayRecToken = "pr" OpCompleteToken = "oc" OpFailedToken = "of" EndSignalToken = "es" TextToSpeechSegToken = "ts" DisplayTextSegToken = "dt" SilenceSegToken = "si" VariableSegToken = "vb" AnParmToken = "an" IpParmToken = "ip" RpParmToken = "rp" NdParmToken = "nd" NsParmToken = "ns" FaParmToken = "fa" SaParmToken = "sa" NiParmToken = "ni" ItParmToken = "it" IvParmToken = "iv" DuParmToken = "du" SpParmToken = "sp" VlParmToken = "vl" CbParmToken = "cb" MxParmToken = "mx"

advoudiopkgtoken=“A”PlayAnnToken=“pa”PlayColToken=“pc”PlayRecToken=“pr”OpCompleteToken=“oc”OpFailedToken=“of”EndSignalToken=“es”TextToSpeechSegToken=“ts”DisplayTextSegToken=“dt”沉默segtoken=“si”VariableSegToken=“vb”AnParmToken=“an”IpParmToken=“ip”RpParmToken=“rp”NdParmToken=“nd”NsParmToken=“nd”NsParmToken=“ns”FaParmToken=“fa”SaParmToken=“sa”NiParmToken=“ni”ItParmToken=“it”IvParmToken=“iv”du”SpParmToken=“sp”VlParmToken=“vl”CbParmToken=“cb”MxParmToken=“mx”

MnParmToken = "mn" DpParmToken = "dp" FdtParmToken = "fdt" IdtParmToken = "idt" EdtParmToken = "edt" PrtParmToken = "prt" PstParmToken = "pst" RltParmToken = "rlt" RskParmToken = "rsk" RikParmToken = "rik" RtkParmToken = "rtk" PskParmToken = "psk" StkParmToken = "stk" SikParmToken = "sik" EikParmToken = "eik" IekParmToken = "iek" RpaParmToken = "rpa" DpaParmToken = "dpa" OaParmToken = "oa" RaParmToken = "ra" NaParmToken = "na" RidParmToken = "rid" ViParmToken = "vi" IkParmToken = "ik" ApParmToken = "ap" DcParmToken = "dc" RiParmToken = "ri" RcParmToken = "rc" SgParmToken = "sg" DateVarToken = "dat" DigitsVarToken = "dig" DuratioNVarToken = "dur" MoneyVarToken = "mny" MonthVarToken = "mth" NumberVarToken = "num" SilenceVarToken = "sil" StringVarToken = "str" TextVarToken = "txt" TimeVarToken = "tme" WeekdayVarToken = "wkd" GenericDigitsToken = "gen" NorthAmericanDnSToken = "ndn" CardinalNumberToken = "crd" OrdinalNumberToken = "ord" DisplayTextToken = "dsp" TextToSpeechToken = "spk" TwelveHourFormatToken = "t12" TwentyFourHourFormatToken = "t24"

MnParmToken=“mn”DpParmToken=“dp”FdtParmToken=“fdt”IdtParmToken=“idt”EdtParmToken=“edt”PrtParmToken=“pst”PstParmToken=“pst”RltParmToken=“rlt”RskParmToken=“rsk”RikParmToken=“rik”RtkParmToken=“rtk”PskParmToken=“psk”SikParmToken=“sik”EikParmToken=“eik”IekParmToken=“iek”RpaParmToken=“rpa”DpaParmToken=“dpa”OaParmToken=“oa”RaParmToken=“ra”NaParmToken=“na”RidParmToken=“rid”ViParmToken=“vi”IkParmToken=“ik”ApParmToken=“ap”DcParmToken=“dc”RiParmToken=“ri”RcParmToken=“rc”SgParmToken=“sg”DateVarToken=“dat”DigitsVarToken=“dig”dur”dur”MoneyVarToken=“mny”MonthVarToken=“mtoken=“mth“NumberVarToken=“num”sileneevartoken=“sil”StringVarToken=“str”TextVarToken=“txt”TimeVarToken=“tme”WeekdayVarToken=“wkd”GenericDigitsToken=“gen”northamericandenstoken=“ndn”CardinalNumberToken=“crd”OrdinalNumberToken=“ord”DisplayTextToken=“dsp”TextToSpeechToken=“spk”十二小时格式=“t12”二十四小时格式=“t24”

NullStrToken  =  "null"
FirstSegmentToken     =  "fst"
LastSegmentToken      =  "lst"
PreviousSegmentToken  =  "prv"
NextSegmentToken      =  "nxt"
CurrentSegmentToken   =  "cur"
BOOLSTR       =  "true" / "false"
NAMECHAR      =  ALPHA / DIGIT / "_" / "-"
NAME          =  1*64(NAMECHAR)
NUMBER        =  DIGIT *31(DIGIT)
SIGNEDINT     =  ("+" / "-") DIGIT *31(DIGIT)
OPTSIGNEDINT  =  ["+" / "-"] DIGIT *31(DIGIT)
EQUALS        =  "="
COMMA         =  ","
LSQUARE       =  "["
RSQUARE       =  "]"
LANGLE        =  "<"
RANGLE        =  ">"
LPAREN        =  "("
RPAREN        =  ")"
SLASH         =  "/"
WSP           =  SP / HTAB
        
NullStrToken  =  "null"
FirstSegmentToken     =  "fst"
LastSegmentToken      =  "lst"
PreviousSegmentToken  =  "prv"
NextSegmentToken      =  "nxt"
CurrentSegmentToken   =  "cur"
BOOLSTR       =  "true" / "false"
NAMECHAR      =  ALPHA / DIGIT / "_" / "-"
NAME          =  1*64(NAMECHAR)
NUMBER        =  DIGIT *31(DIGIT)
SIGNEDINT     =  ("+" / "-") DIGIT *31(DIGIT)
OPTSIGNEDINT  =  ["+" / "-"] DIGIT *31(DIGIT)
EQUALS        =  "="
COMMA         =  ","
LSQUARE       =  "["
RSQUARE       =  "]"
LANGLE        =  "<"
RANGLE        =  ">"
LPAREN        =  "("
RPAREN        =  ")"
SLASH         =  "/"
WSP           =  SP / HTAB
        
13. References
13. 工具书类

[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[1] Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[2] Arango, M., Dugan, A., Elliott, I., Huitema, C. and S. Pickett, "Media Gateway Control Protocol (MGCP) Version 0.1", RFC 2705, October 1999.

[2] Arango,M.,Dugan,A.,Elliott,I.,Huitema,C.和S.Pickett,“媒体网关控制协议(MGCP)0.1版”,RFC 27052999年10月。

[3] Cromwell, D. and M. Durling, "Requirements For Control Of A Media Services Function", Version 0.0, Work in Progres..

[3] Cromwell,D.和M.Durling,“媒体服务功能控制要求”,0.0版,在Progres中工作。。

[4] ISO 639-2, "Code For The Representation Of Names Of Languages", 1998.

[4] ISO 639-2,“语言名称表示代码”,1998年。

[5] ISO 4217, "Currency And Funds Code List", 1981.

[5] ISO 4217,“货币和资金代码清单”,1981年。

[6] Cuervo, F., Hill, B., Greene, N., Huitema, C., Rayhan, A., Rosen, B. and J. Segers, "Megaco Protocol", RFC 2885, August 2000.

[6] Cuervo,F.,Hill,B.,Greene,N.,Huitema,C.,Rayhan,A.,Rosen,B.和J.Segers,“Megaco协议”,RFC 28852000年8月。

[7] ISO 8601, "International Date and Time Notation", 1998.

[7] ISO 8601,“国际日期和时间符号”,1998年。

14. Author's Address
14. 作者地址

David Cromwell Nortel Networks Box 13478 35 Davis Drive Research Triangle Park, NC 27709

北卡罗来纳州戴维斯大道研究三角公园35号大卫·克伦威尔北电网络公司信箱13478 27709

Phone: 919-991-8870 EMail: cromwell@nortelnetworks.com

电话:919-991-8870电子邮件:cromwell@nortelnetworks.com

15. Full Copyright Statement
15. 完整版权声明

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。