New-CsRgsQuestion

 

上一次修改主题: 2012-03-23

创建新的响应组问题。响应组应用程序通过问题向呼叫者提供选项,然后基于呼叫者的选择执行相应的操作。

语法

New-CsRgsQuestion -Prompt <Prompt> [-AnswerList <PSListModifier>] [-InvalidAnswerPrompt <Prompt>] [-Name <String>] [-NoAnswerPrompt <Prompt>]

详细说明

为了处理呼叫,响应组应用程序通常会做出声明或提出问题,然后基于呼叫者的响应执行相应的操作。例如,该服务可能会要求呼叫者按 1 选择英语,或按 2 选择西班牙语。提出类似问题后,系统必须等待呼叫者做出响应,然后执行相应操作。此时意味着,如果呼叫者在电话键盘上按 1,则呼叫将转接到英语语言队列;如果呼叫者在键盘上按 2,则呼叫将转接到西班牙语语言队列。

为了创建问题,必须使用 New-CsRgsQuestion cmdlet。在创建响应组问题时,至少需要提供一个提示(即实际问题本身)以及一组支持答案。例如,如果向呼叫者提供的选项为按 1 或按 2,则需要有两个答案:其中一个答案指定呼叫者按 1 时所执行的操作,另一个答案指定呼叫者按 2 时所执行的操作。如果向呼叫者提供的选项为按 1、2、3 或 4,则需要四个答案,依此类推。

此外,通过New-CsRgsQuestion,您可以指定呼叫者提供的答案无效或根本没有回答时所使用的提示。例如,如果原始方案中的呼叫者按 3,则提示可能声明“很抱歉,这不是一个有效的响应。”此时,将接着重播原始提示。

谁能运行此 cmdlet:默认情况下,以下各组的成员有权在本地运行 New-CsRgsQuestion cmdlet:RTCUniversalUserAdmins、RTCUniversalServerAdmins 和 RTCUniversalReadOnlyAdmins。但是,由于此 cmdlet 创建一个保存在内存中的对象,并且自身不会对系统进行任何更改,因此实质上任何人都可以运行它。要返回分配了此 cmdlet 的所有基于角色的访问控制 (RBAC) 角色列表(包括您自己创建的任何自定义 RBAC 角色),请从 Windows PowerShell 提示符处运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "New-CsRgsQuestion"}

参数

参数 必需 类型 描述

Prompt

必需

提示对象

要询问呼叫者的问题。必须使用 New-CsRgsPrompt cmdlet 创建提示。

AnswerList

可选

PS 列表修饰符

问题的有效答案阵列。例如,技术支持问题的答案可能包括“硬件支持”、“软件安装”和“网络连接”等。必须使用 New-CsRgsAnswer cmdlet 创建答案。

InvalidAnswerPrompt

可选

提示对象

呼叫者选择无效答案时做出的响应。必须使用 New-CsRgsPrompt cmdlet 创建 InvalidAnswerPrompt。请注意,播放 InvalidAnswerPrompt 后,应用程序将接着重复原始提示。

Name

可选

字符串

问题的标识符。问题名称(不一定是唯一的)最多可包含 128 个字符。

NoAnswerPrompt

可选

提示对象

呼叫者没有响应初始提示时做出的响应。必须使用 New-CsRgsPrompt cmdlet 创建 NoAnswerPrompt。

输入类型

无。New-CsRgsQuestion 不接受通过管道传递的输入。

返回类型

New-CsRgsQuestion 创建 Microsoft.Rtc.Management.WriteableSettings.Question 对象的实例。

示例

-------------------------- 示例 1 --------------------------

$new = Get-CsRgsQueue -Identity service:ApplicationServer:pool0.litwareinc.com -Name "New Service Request"
$existing = Get-CsRgsQueue -Identity service:ApplicationServer:pool0.litwareinc.com -Name "Existing Service Request"

$w = New-CsRgsPrompt -TextToSpeechPrompt "Please hold while we transfer your call."

$y = New-CsRgsCallAction -Prompt $w -Action TransferToQueue -QueueID $new.Identity
$z = New-CsRgsCallAction -Prompt $w -Action TransferToQueue -QueueID $existing.Identity

$newRequest = New-CsRgsAnswer -Action $y -DtmfResponse 1 -VoiceResponseList "New" -Name "New Request"
$existingRequest = New-CsRgsAnswer -Action $z -DtmfResponse 2 -VoiceResponseList "Existing" -Name "Existing Request"

$u = New-CsRgsPrompt -TextToSpeechPrompt "Press 1 or say New for a new service request. Press 2 or say Existing for an existing service request."

$question = New-CsRgsQuestion -Prompt $u -AnswerList $newRequest $newRequest, $existingRequest 

示例 1 中显示的命令创建一对响应组答案,然后将这些答案与新的响应组问题相关联。为了创建这两个答案,首先必须指定根据呼叫者提供的答案所要执行的呼叫操作。因此,此示例中的前两个命令将创建一对响应组队列(New Service Request 和 Existing Service Request)的对象引用。创建这些对象引用后,下一个命令使用 New-CsRgsPrompt 创建一个存储在名称为 $w 的变量中的文本到语音转换提示。

完成该操作后,接下来的两个命令将创建一对相应的呼叫操作:其中一项操作是将呼叫者转接到 New Service Request 队列,另一项操作是将呼叫者转接到 Existing Service Request 队列。创建呼叫操作后,使用 New-CsRgsAnswer cmdlet 创建两个响应组答案,一个存储在变量 $newRequest 中,另一个存储在变量 $existingRequest 中。

存储这两个答案后,可以使用 New-CsRgsPrompt 创建新问题的提示。在此示例中,该提示是一个文本到语音转换提示,要求呼叫者对于新服务请求按 1(或说出“New”),对于现有服务请求按 2(或说出“Existing”)。提示本身将存储在名称为 $u 的变量中。

创建提示后,可以调用 New-CsRgsQuestion 创建新的问题。除 Prompt 参数之外,AnswerList 参数也用于指示与此问题相关联的两个答案:变量 $newRequest 和 $existingRequest。

另请参阅

其他资源

New-CsRgsAnswer