高级 JSON 配置属性
您可以使用 JSON 配置文件来为个别租户定义特定属性,而不是配置在整个部署中适用的环境变量。
重要信息:多租户配置属性与 Voice Gateway 配置中的 Docker 环境变量相关。如果未在 JSON 配置文件中定义值,那么将按以下部分中所注,使用相关 Docker 环境变量的某些值。
在 V1.0.0.2 和更高版本中支持配置多租户。
- 示例 JSON 配置文件
- 必需租户属性
- 可选租户属性
conversation对象属性wva对象属性stt对象属性tts对象属性reporting对象属性smsPipe对象属性outboundCalls对象的属性
示例 JSON 配置文件
例如,以下 JSON 将号码为 234-555-6789 的租户配置为发布报告事件的自助服务代理程序,并且配置 myhost.com 主机上未显示其详细信息的号码为 234-555-7890 的另一个租户。
要部署此配置,必须在 Voice Gateway 部署配置文件中将 JSON 配置文件的文件路径设置为 MULTI_TENANT_CONFIG_FILE 环境变量。
{
"tenants": [{
"tenantURI": "2345556789",
"description": "Voice Gateway Demo US",
"whitelistFromUri": "8765554321",
"putCallerOnHoldOnTransfer": "false",
"conversation": {
"url": "https://gateway.watsonplatform.net/conversation/api",
"workspaceID": "a23de67h-e527-40d5-a867-5c0ce9e72d0d",
"password": "InWtiUpYhF1Z",
"username": "9h7f54cb-d9ed-46b3-8492-e9a9bf555021"
},
"stt": {
"credentials": {
"url": "https://stream.watsonplatform.net/speech-to-text/api",
"username": "9h7f54cb-f28f-4a64-91e1-a0657e1dd3f4",
"password": "IAB5jfxls0Zt",
},
"config": {
"model": "en-US_NarrowbandModel",
"profanity_filter": true,
"smart_formatting": true
},
"broadbandConfig": {
"model": "en-US_BroadbandModel",
"profanity_filter": true,
"smart_formatting": true
},
"bandPreference": "broadband",
"confidenceScoreThreshold": 0.2,
"echoSuppression": true,
"bargeInResume": true,
"trackLatency": false
},
"tts": {
"cacheTimeToLive": 336,
"credentials": {
"url": "https://stream.watsonplatform.net/text-to-speech/api",
"username": "9h7f54cb-8b0f-4766-8b15-eaa8f7c3fae7",
"password": "HcmzFp1kec1P",
},
"config": {
"voice": "en-US_MichaelVoice"
}
},
"reporting": {
"url": "http://10.10.10.10:8080",
"username": "john.smith",
"password": "HcmzFp1kec1P",
"cdrEventInd": "cdr",
"convEventInd": "conv",
"transcriptionEventInd": "transcription"
},
"smsPipe": {
"url": "http://host:port/sms.gateway/smsPipe",
"username": "tR3qNZ12-u53qmz93",
"password": "Qz34x05e",
"tenantPhoneNumber": "+18765554321"
},
"enableOutboundCalls": true,
"outboundCalls": {
"statusWebhook": "http://need.example.webhook.url.com/",
"tenantURI": "same as tenant URI above?",
"connectTimeout": 3,
"readTimeout": 5,
"maxRetyNo": 2
},
"restAPI": {
"username": "exampleusername",
"password": "examplepassword"
}
,
}
{
"tenantURI": "2345557890@example.com"
}
]
}
- 将租户配置添加到 Voice Gateway 配置,然后部署环境。有关更多信息,请参阅部署多租户 JSON 配置。
重要信息:多租户配置属性与 Voice Gateway 配置中的 Docker 环境变量相关。如果未在配置 JSON 文件中定义值,那么将按以下部分中所注,使用相关 Docker 环境变量的某些值。
必需租户属性
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
tenantURI |
唯一租户标识,例如电话号码。必须与用于启动呼叫的 SIP INVITE 请求中的 SIP To URI 匹配。每个租户必须包含 tenantURI。 |
可选租户属性
可以单独为每个租户定义以下配置属性。这些属性是可选属性,但如果要对其进行定义,那么必须将其定义为 JSON 属性。不会使用相关 Docker 环境变量的值。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
acceptTransferRejectCodes |
在呼叫转接期间处理 NOTIFY 请求时作为成功响应处理的错误代码的逗号分隔列表。缺省情况下,[200-299] 中的所有代码都是成功响应。如果 NOTIFY 请求中的响应代码不在此范围内,那么转接过程将失败。可以通过添加此属性来扩展成功响应的列表。V1.0.0.6 和更高版本。 | ACCEPT_TRANSFER_REJECT_CODES |
conversationFailedReplyMessage |
由于其中一个 Watson 服务发生故障而正在转接/断开呼叫时,流式传输给呼叫者的消息。 如果未配置缺省目标,请更改缺省消息。 | CONVERSATION_FAILED_REPLY_MESSAGE |
conversationFailedReplyAudioURL |
在 Voice Gateway 尝试回放 conversationFailedReplyMessage 消息时无法访问 Text to Speech 服务的情况下播放的音频文件的 URL。 |
CONVERSATION_FAILED_REPLY_AUDIO_URL |
customSIPInviteHeader |
要从入局 SIP INVITE 请求中抽取的 SIP 头字段。设置后,指定的 SIP 头的值传递到 vgwSIPCustomInviteHeader 状态变量中的 Watson Assistant。 |
CUSTOM_SIP_INVITE_HEADER |
customSIPInviteHeaders |
要从入局 SIP INVITE 请求中抽取的 SIP 头字段的逗号分隔列表。设置后,指定的 SIP 头的值传递到 vgwSIPCustomInviteHeaders 状态变量中的 Watson Assistant。 |
CUSTOM_SIP_INVITE_HEADERS |
customSIPRECSessionField |
其值用作全局会话标识的 SIPREC 元数据字段。指定的 SIPREC 元数据字段的值会在所有审计消息中使用,并且传递到 vgwSessionID 状态变量中的 Watson Assistant。如果在元数据中找不到已配置的字段,那么将使用 customSIPSessionHeader JSON 属性来确定全局会话标识。定制 SIPREC 会话字段的可能值包括 gcid、callid 和 session_id。V1.0.0.6a 和更高版本。 |
CUSTOM_SIPREC_SESSION_FIELD |
| customSIPSessionHeader | 从 SIP INVITE 请求提取的定制会话标识头。该值表示与会话相关的所有 Voice Gateway 审计日志中使用的全局会话标识。 | CUSTOM_SIP_SESSION_HEADER |
description |
租户的描述,例如其使用方式。可选,但建议使用。 | |
disconnectCallOnTransferFailure |
确定在呼叫转接失败时是否将呼叫断开连接。当设置为 false 时,Voice Gateway 通过向 Watson Assistant 发送 "vgwCallTransferFailed" 文本来启动对话轮次。然后,Watson Assistant 可以断开呼叫连接或将其转接到对话中配置的其他目标。缺省情况下设置为 true。V1.0.0.2 和更高版本。 |
DISCONNECT_CALL_ON_TRANSFER_FAILURE |
finalUtteranceTimeout |
Voice Gateway 等待从 Speech to Text 服务接收最终发声的时间(以毫秒为单位)。如果 Voice Gateway 在指定的时间限制内未收到最终发声,那么将发生超时,即使继续生成假设也如此。当超时发生时,Voice Gateway 会向 Watson Assistant 发送包含文字“vgwFinalUtteranceTimeout”的文本更新,以指示未收到任何最终发声。V1.0.0.4c 和更高版本。 | FINAL_UTTERANCE_TIMEOUT |
notifyConversationOnFilteredUtterances |
当属性设置为 true 时,Voice Gateway 会使用文字“vgwSTTResultFiltered”向 Watson Assistant 启动新轮次,以指示该发声由于低置信度级别而被过滤掉。V1.0.2 和更高版本。 | NOTIFY_CONVERSATION_ON_FILTERED_UTTERANCES |
notifyConversationOnNetworkEvents |
当设置为 true 并检测到网络错误时,Voice Gateway 使用文本“vgwNetworkWarningMessage”启动面向 Watson Assistant 服务的轮次。vgwNetworkWarnings 状态变量包含当前轮次期间发生的网络事件的列表。如果该标志设置为 false,那么将在 vgwNetworkWarnings 状态变量中的下一个轮次事件中发送当前轮次期间发生的网络事件的列表。V1.0.0.5
和更高版本。 |
NOTIFY_CONVERSATION_ON_NETWORK_EVENTS |
notifyConversationOnMediaChange |
当呼叫者发送重新 INVITE 或 UPDATE 请求时,媒体功能可在呼叫中途发生更改。当属性设置为 true 时,Voice Gateway 会使用文字 vgwMediaCapsChanged 启动面向 Watson Assistant 的新轮次,以指示成功更新了媒体功能。 |
NOTIFY_CONVERSATION_ON_MEDIA_CHANGE |
postResponseTimeout |
向呼叫者回放响应之后等待新发声的时间(毫秒)。如果超过该值,那么 Watson Assistant 将接收到包含文字“vgwPostResponseTimeout”的文本更新,以指示发生了超时。缺省情况下设置为 7000 ms。 | POST_RESPONSE_TIMEOUT |
putCallerOnHoldOnTransfer |
如果不希望在转接呼叫时使呼叫者暂候,请设置为 false。V1.0.0.3 和更高版本。 |
PUT_CALLER_ON_HOLD_ON_TRANSFER |
sendOnFirstTurn |
包含需要在第一个轮次请求中发送到 Watson Assistant 服务的设置的逗号分隔列表。必须在常规部分中配置此列表中的所有设置。V1.0.0.6 和更高版本。 | SEND_ON_FIRST_TURN_TO_CONVERSATION |
sendProvisionalResponse |
设置为 false 以便租户在处理入局呼叫时不会发送 180 Ringing 响应。V1.0.0.3 和更高版本。 |
SEND_PROVISIONAL_RESPONSE |
sendSIPCallIDToConversation |
当值为 true 时,SIP 呼叫标识将通过 vgwSIPCallID 状态变量传递到 Watson Assistant。缺省情况下设置为 false。 |
SEND_SIP_CALL_ID_TO_CONVERSATION |
sendSIPRequestURIToConversation |
当值为 true 时,SIP 请求 URI 将通过 vgwSIPRequestURI 状态变量传递到 Watson Assistant。缺省情况下设置为 false。 |
SEND_SIP_REQUEST_URI_TO_CONVERSATION |
sendSIPToUriToConversation |
当值为 true 时,SIP To URI 将通过 vgwSIPToURI 状态变量传递到 Watson Assistant。缺省情况下设置为 false。 |
SEND_SIP_TO_URI_TO_CONVERSATION |
sendSIPFromUriToConversation |
当值为 true 时,SIP From URI 将通过 vgwSIPFromURI 状态变量传递到 Watson Assistant。缺省情况下设置为 false。 |
SEND_SIP_FROM_URI_TO_CONVERSATION |
sendSiprecMetadataToSTT |
如果设置为 true,那么会在建立会话时将 SIPREC 元数据发送到 STT。缺省情况下设置为 false。V1.0.3.0 和更高版本。 |
SEND_SIPREC_METADATA_TO_STT |
transferDefaultTarget |
标识要转接到的目标端点。必须是有效的 SIP 或 tel URI(例如 sip:10.10.10.10)。仅当发生故障并且无法从 Watson Assistant API 获取呼叫转接目标时,才会使用此缺省转接目标。 | TRANSFER_DEFAULT_TARGET |
transferFailedReplyMessage |
如果 disconnectCallOnTransferFailure 设置为 True,那么在呼叫转接失败时,该消息会以流式方法传送到呼叫者。 |
TRANSFER_FAILED_REPLY_MESSAGE |
transferFailedReplyAudioURL |
在 Voice Gateway 尝试回放 transferFailedReplyMessage 消息时无法访问 Text to Speech 服务的情况下播放的音频文件的 URL。 | TRANSFER_FAILED_REPLY_AUDIO_URL |
useOptimalConfiguration |
指定是否对发行版使用最佳配置。当设置为 true 时,最佳配置设置用于 OPTIMAL_CONFIGURATION_VERSION 环境变量或 optimalConfigurationVersion JSON 属性中定义的 Voice Gateway 版本。缺省情况下设置为 false。V1.0.0.6c 和更高版本。 |
USE_OPTIMAL_CONFIGURATION |
optimalConfigurationVersion |
指定要使用的最佳配置设置的 Voice Gateway 版本。例如,1.0.0.6c。缺省情况下,设置为最新版本。V1.0.0.6.c 和更高版本。 |
OPTIMAL_CONFIGURATION_VERSION |
whitelistFromUri |
定义后,Voice Gateway 仅接受在 SIP From URI 中包含指定字符串(例如电话号码)的呼叫。 |
WHITELIST_FROM_URI |
type |
可能的值包括 agentAssist、selfService 和 continuousRecognition。对于代理程序助手和 SIPREC 会话,缺省值为 agentAssist。对于自助服务会话,缺省值为 selfService。租户类型设置为时 agentAssist 或 continuousRecognition 时,语音识别是在呼叫周期内开放,而不是在单次对话中开放。只要有针对 Watson Assistant 或 SOE 的现有传出请求,语音识别转录就会排队。 |
TENANT_TYPE |
URIs |
与该租户关联的 Tel/SIP URI 的列表。当入局呼叫无法映射到配置的租户 URI 时,Voice Gateway 将在此列表中查找匹配项。示例:"URIs": [{ "name": "dc-office", "uri": "111111111" }, { "name": "nyc-office", "uri": "222222222" } ] |
不适用 |
whitelistSiprecAttrName |
定义后,Voice Gateway 仅接受在 SIPREC 元数据中包含指定属性的呼叫。此属性值必须与 whitelistSiprecAttrValue 属性中指定的值匹配。 |
WHITELIST_SIPREC_ATTR_NAME |
whitelistSiprecAttrValue |
此属性在配置了 whitelistSiprecAttrName 时是必需的。定义后,Voice Gateway 仅接受在 SIPREC 元数据中包含 whitelistSiprecAttrName 中指定的属性且其值与此属性所指定值匹配的呼叫。 |
WHITELIST_SIPREC_ATTR_VALUE |
conversation 对象的属性
必须将要用于每个租户的 IBM Watson™ Assistant 服务定义为 JSON 属性。不会使用相关 Docker 环境变量的值。
与其他配置方法一样,不能在单个租户中同时定义 conversation 对象和 wva 对象。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
url |
Watson Assistant 的 url 凭证。 |
WATSON_CONVERSATION_URL |
workspaceID |
Watson Assistant API 的工作空间标识。 | WATSON_CONVERSATION_WORKSPACE_ID |
username |
Watson Assistant 的 username 凭证。 |
WATSON_CONVERSATION_USERNAME |
password |
Watson Assistant 的 password 凭证。 |
WATSON_CONVERSATION_PASSWORD |
apikey |
API 密钥 apikey,即 Watson Assistant 服务的凭证。可以通过使用 apikey 并将 tokenServiceProviderUrl 设置为 https://iam.cloud.ibm.com/identity/token,或者通过同时使用 username 和 password,以配置与 Watson
服务的连接。仅可用于悉尼区域。V1.0.0.6a 和更高版本。 |
WATSON_CONVERSATION_APIKEY |
apiVersion |
要使用的 Watson Assistant API 版本。可能的值包括 v1 和 v2。V1.0.1 和更高版本中支持 v2。 |
WATSON_CONVERSATION_API_VERSION |
bearerToken |
在对 Watson Assistant 服务进行请求时将使用的认证令牌。V1.0.3.0 和更高版本。 | 不适用 |
connectTimeout |
Voice Gateway 等待与 Watson Assistant 建立套接字连接的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试与 Watson Assistant 进行连接。如果仍无法访问服务,那么呼叫将失败。缺省情况下设置为 5 秒。V1.0.0.3 和更高版本。 | WATSON_CONVERSATION_CONNECT_TIMEOUT |
connectionKeepAliveEnabled |
true 或 false。缺省情况下设置为 true。指定在每个请求或响应后与 Watson Assistant 服务的连接是保持打开还是关闭。注:不支持连接复用。在每个请求或响应后将关闭连接。启用保持活动后,可能会导致一些希望连接保持打开状态的 REST 服务器发生问题。可以通过将此环境变量设置为 false 来关闭保持活动。1.0.0.7a
和更高版本。 |
WATSON_CONVERSATION_CONNECTION_KA_ENABLED |
readTimeout |
Voice Gateway 等待来自 Watson Assistant 的响应的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试访问 Watson Assistant。如果仍无法访问服务,那么呼叫将失败。缺省情况下设置为 5 秒。 | WATSON_CONVERSATION_READ_TIMEOUT |
tokenAuthEnabled |
为 Watson Assistant 启用令牌认证。缺省情况下处于禁用状态。V1.0.0.5a 和更高版本。 | WATSON_CONVERSATION_TOKEN_AUTH_ENABLED |
tokenServiceProviderUrl |
这是 Watson Assistant 服务的令牌认证服务的实际 URL。您可能需要将此 URL 映射到其他 URL 以进行路由。V1.0.0.5a 和更高版本。 | WATSON_CONVERSATION_TOKEN_SERVICE_PROVIDER_URL |
tokenServiceUrl |
这是嵌入在令牌请求中的服务 URL。V1.0.0.5a 和更高版本。 | WATSON_CONVERSATION_TOKEN_SERVICE_URL |
providers |
多个支持根级别服务配置的服务提供程序的配置。V1.0.0.6 和更高版本。
|
不适用 |
providerSelectionPolicy |
在服务失败的情况下,是指当租户配置了多个提供程序时 Voice Gateway 更改活动 Watson Assistant 服务实例所采用的过程。仅当在第一个轮次 Watson Assistant 服务发生 Conversation 错误时,Voice Gateway 才会切换到列表中的下一个提供程序。一旦建立呼叫,Voice Gateway 就不会在呼叫中途切换到另一个 Conversation 提供程序。缺省情况下设置为 sequential。 |
不适用 |
httpHeaders |
一个 JSON 映射,包含 HTTP 头的名称和值. 这些 HTTP 头字段将通过出站 REST 请求而被添加到 Watson Assistant。 | 不适用 |
assistantID |
Watson Assistant V2 API 的 Watson Assistant 标识。仅 Watson Assistant V2 API 会使用助理标识。Voice Gateway V1.0.1 和更高版本。 | WATSON_ASSISTANT_ID |
要配置租户以通过服务编排引擎 (SOE) 来连接到 Watson Assistant,请改为在属性中配置 SOE。如果 SOE 配置为需要认证,请指定用于 HTTP 基本认证的用户名和密码。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
url |
服务编排引擎的精确 URL。 | WATSON_CONVERSATION_URL |
username |
服务编排引擎的明文用户名。仅当在 SOE 中启用认证时必需。 | WATSON_CONVERSATION_USERNAME |
password |
服务编排引擎的明文密码。仅当在 SOE 中启用认证时必需。 | WATSON_CONVERSATION_PASSWORD |
wva 对象
注:在 2018 年 6 月 19 日之后,无法创建新的 Watson Virtual Agent 实例。此服务已在 2019 年 3 月 19 日从 IBM Cloud 目录中移除。
必须将要用于每个租户的 Watson Virtual Agent 聊天机器人定义为 JSON 属性。不会使用相关 Docker 环境变量的值。要通过服务编排引擎 (SOE) 来连接到 Virtual Agent,请在 conversation 对象上配置 SOE。
与其他配置方法一样,不能在单个租户中同时定义 conversation 对象和 wva 对象。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
wvaURL |
Watson Virtual Agent API 的 url 凭证。 |
WATSON_VA_URL |
wvaBotID |
Watson Virtual Agent API 的 bot_id 凭证。 |
WATSON_VA_BOT_ID |
wvaClientId |
Watson Virtual Agent 的 API 调用的 X-IBM-Client-Id 头字段的认证密钥。 |
WATSON_VA_CLIENT_ID |
wvaClientSecret |
Watson Virtual Agent 的 API 调用的 X-IBM-Client-Secret 头字段的认证密钥。 |
WATSON_VA_CLIENT_SECRET |
stt 对象的属性
stt 对象包含 Speech to Text Adapter 启用的 Speech to Text 服务或语音识别服务的配置。如果未定义 JSON 属性,那么将使用相关 Docker 环境变量的值。
可以定义以下属性来配置 Speech to Text 服务。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
credentials |
Speech to Text 服务的凭证。请参阅 stt 对象的 credentials 属性 |
|
config |
Speech to Text 服务的参数。请参阅 Speech to Text 服务的 WebSockets API 参考。 | 请参阅 Media Relay 配置中的 Speech to Text (WATSON_STT) 变量 |
broadbandConfig |
启用宽带音频时 Speech To Text 服务的参数。仅当 bandPreference 设置为 broadband 时必需。至少,必须在 model 属性上定义语言模型。有关属性的完整列表,请参阅 Speech to Text 服务的 WebSockets API 参考。V1.0.0.4
和更高版本。 |
请参阅启用宽带支持中的宽带环境变量 |
bandPreference |
定义在会话中协商音频编码解码器时首选哪个音频频带。设置为 broadband 会尽可能使用宽带音频。缺省值为 narrowband。V1.0.0.4 和更高版本。 |
WATSON_STT_BAND_PREFERENCE |
disableFirstTurnBargeIn |
将此值设置为 true 可在第一轮对话时禁用语音打断。 V1.0.2.0 和更高版本。 |
WATSON_STT_DISABLE_FIRST_TURN_BARGE_IN |
bargeInResume |
设置为 true 可在最终发声的置信度分数低于 confidenceScoreThreshold 属性指定的阈值情况下在打断后恢复回放音频。V1.0.0.5 和更高版本。 |
BARGE_IN_RESUME |
confidenceScoreThreshold |
来自 Speech to Text 服务的消息的置信度阈值。置信度分数低于阈值的消息将不会转发到 Watson Assistant。缺省值 0 表示将使用所有响应。建议值为 0 到 1 之间的值。 | WATSON_STT_CONFIDENCE_SCORE_THRESHOLD |
connectionTimeout |
Voice Gateway 等待与 Watson Speech to Text 服务建立套接字连接的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试与 Watson Speech to Text 服务进行连接。如果仍无法访问服务,那么呼叫将失败。V1.0.0.5 和更高版本。 | WATSON_STT_CONNECTION_TIMEOUT |
requestTimeout |
Voice Gateway 等待与 Watson Speech to Text 服务建立语音识别会话的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试与 Watson Speech to Text 服务进行连接。如果仍无法访问服务,那么呼叫将失败。V1.0.0.5 和更高版本。 | WATSON_STT_REQUEST_TIMEOUT |
echoSuppression |
指示是否禁止由于回传 Text To Speech 合成而可能发生的 Speech to Text 的结果。V1.0.0.4c 和更高版本。 | ECHO_SUPPRESSION |
providers |
多个支持根级别服务配置的服务提供程序的配置。V1.0.0.6 和更高版本。
|
不适用 |
providerSelectionPolicy |
在服务失败的情况下,是指当租户配置了多个提供程序时 Voice Gateway 更改活动 Speech to Text 服务实例所采用的过程。仅当在第一个轮次服务发生错误时,Voice Gateway 才会切换到列表中的下一个提供程序。一旦建立呼叫,Voice Gateway 就不会在呼叫中途切换到另一个 Speech to Text 提供程序。缺省情况下设置为 sequential。 |
不适用 |
trackLatency |
当设置为 true 时,Media Relay 使用能量检测来跟踪响应等待时间。等待时间是 Media Relay 在呼叫者语音中检测到无声到 Media Relay 从 Speech to Text 接收最终结果之间的耗用时间量(以毫秒为单位)。V1.0.0.8 和更高版本。 |
STT_TRACK_LATENCY |
stt 对象的 credentials 属性
| 属性 | 描述 | 相关环境变量 |
|---|---|---|
url |
Speech to Text 服务 API 的 url 凭证 |
WATSON_STT_URL |
username |
Speech to Text 服务的 username 凭证 |
WATSON_STT_USERNAME |
password |
Speech to Text 服务的 password 凭证 |
WATSON_STT_PASSWORD |
apikey |
API 密钥 apikey,即 Speech to Text 服务的凭证。可以通过使用 apikey 并将 tokenServiceProviderUrl 设置为 https://iam.cloud.ibm.com/identity/token,或者通过同时使用 username 和 password,以配置与 Watson
服务的连接。V1.0.0.6a 和更高版本。 |
WATSON_STT_APIKEY |
bearerToken |
在对 Speech To Text 服务进行请求时将使用的认证令牌。V1.0.3.0 和更高版本。 | 不适用 |
tokenAuthEnabled |
可以通过将 tokenAuthEnabled 设置为 true 来启用令牌认证。请参阅为 Watson 服务启用基于用户名和密码的令牌认证。V1.0.0.5a 和更高版本。 |
WATSON_STT_TOKEN_AUTH_ENABLED |
tokenServiceProviderUrl |
此凭证的值是 Speech to Text 的令牌认证服务的 URL。V1.0.0.5a 和更高版本。 | WATSON_STT_TOKEN_SERVICE_PROVIDER_URL |
tokenServiceUrl |
嵌入在令牌请求中的服务 URL。V1.0.0.5a 和更高版本。 | WATSON_STT_TOKEN_SERVICE_URL |
Speech to Text Adapter 属性
如果使用 Speech to Text Adapter 部署了 Voice Gateway,请改为定义以下属性:
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
config |
Google Cloud Speech API RecognitionConfig 请求的参数。有关参数的完整列表,请参阅 RecognitionConfig API 文档。 |
请参阅 Speech to Text Adapter 配置中的 Google Cloud Speech (GOOGLE_SPEECH) 变量 |
thirdPartyCredentials |
Google Cloud 项目服务帐户 JSON 文件的内容。 | GOOGLE_APPLICATION_CREDENTIALS |
tts 对象的属性
如果未定义 JSON 属性,那么将使用相关 Docker 环境变量的值。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
credentials |
IBM® Text to Speech 服务的凭证。请参阅 tts 对象的 credentials 属性 |
|
config |
IBM® Text to Speech 服务的参数。请参阅 Watson Text to Speech 服务的 WebSockets API 参考。 | 请参阅 Media Relay 配置中的 Text to Speech (WATSON_TTS) 变量 |
jitterBufferDelay |
从 Text to Speech 服务回放音频之前要缓冲的时间量(以毫秒为单位)。串流音频出现的任何抖动便是由于这种缓冲区造成的。 | WATSON_TTS_JITTER_BUFFER_DELAY |
connectionTimeout |
Voice Gateway 等待与 Watson Text to Speech 服务建立套接字连接的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试与 Watson Text to Speech 服务进行连接。如果仍无法访问服务,那么呼叫将失败。V1.0.0.5 和更高版本。 | WATSON_TTS_CONNECTION_TIMEOUT |
requestTimeout |
Voice Gateway 等待与 Watson Text to Speech 服务建立语音合成会话的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试与 Watson Text to Speech 服务进行连接。如果仍无法访问服务,那么呼叫将失败。V1.0.0.5 和更高版本。 | WATSON_TTS_REQUEST_TIMEOUT |
cacheTimeToLive |
对来自 Text to Speech 服务的响应进行高速缓存(以改善回放响应时间)的时间(以小时为单位)。启用后,除非在 Watson Assistant 对话中排除所有 Text to Speech 响应,否则将对这些响应进行高速缓存。 | TTS_CACHE_TIME_TO_LIVE |
providers |
多个支持根级别服务配置的服务提供程序的配置。V1.0.0.6 和更高版本。
|
不适用 |
providerSelectionPolicy |
在服务失败的情况下,是指当租户配置了多个提供程序时 Voice Gateway 更改活动 Text to Speech 服务实例所采用的过程。仅当在第一个轮次 Text to Speech 服务发生 Conversation 错误时,Voice Gateway 才会切换到列表中的下一个提供程序。一旦建立呼叫,Voice Gateway 就不会在呼叫中途切换到另一个提供程序。缺省情况下设置为 sequential。 |
不适用 |
Text to Speech Adapter 的属性
如果部署了 Text to Speech Adapter 与 Voice Gateway,请定义以下属性:
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
config |
Google Cloud Text-To-Speech API SynthesizeSpeechRequest 消息的参数。有关参数的完整列表,请参阅 SynthesizeSpeechRequest API 文档。 |
请参阅 Text to Speech Adapter 配置中的 Google Cloud Text-To-Speech (GOOGLE_TTS) 变量。 |
thirdPartyCredentials |
Google Cloud 项目服务帐户 JSON 文件的内容。 | GOOGLE_APPLICATION_CREDENTIALS |
tts 对象的 credentials 属性
| 属性 | 描述 | 相关环境变量 |
|---|---|---|
url |
Text to Speech 服务 API 的 url 凭证 |
WATSON_TTS_URL |
username |
Text to Speech 服务的 username 凭证 |
WATSON_TTS_USERNAME |
password |
Text to Speech 服务的 password 凭证 |
WATSON_TTS_PASSWORD |
apikey |
API 密钥 apikey,即 Text to Speech 服务的凭证。可以通过使用 apikey 并将 tokenServiceProviderUrl 设置为 https://iam.cloud.ibm.com/identity/token,或者通过同时使用 username 和 password,以配置与 Watson
服务的连接。V1.0.0.6a 和更高版本。 |
WATSON_TTS_APIKEY |
bearerToken |
在对 Text To Speech 服务进行请求时将使用的认证令牌。V1.0.3.0 和更高版本。 | 不适用 |
tokenAuthEnabled |
可以通过将 tokenAuthEnabled 设置为 true 来启用令牌认证。请参阅为 Watson 服务启用基于用户名和密码的令牌认证。V1.0.0.5a 和更高版本。 |
WATSON_TTS_TOKEN_AUTH_ENABLED |
tokenServiceProviderUrl |
此凭证的值是 Text to Speech 的令牌认证服务的 URL。V1.0.0.5a 和更高版本。 | WATSON_TTS_TOKEN_SERVICE_PROVIDER_URL |
tokenServiceUrl |
嵌入在令牌请求中的服务 URL。V1.0.0.5a 和更高版本。 | WATSON_TTS_TOKEN_SERVICE_URL |
reporting 对象的属性
要在租户中启用报告,必须将报告服务器和事件类型定义为 JSON 属性。不会使用相关 Docker 环境变量的值。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
url |
接收事件的 Splunk HEC 服务器或 REST 服务器的主机名。 | REPORTING_URL |
username |
用于基本认证的权限名称。对于 Splunk HEC,该值可以是任何字符串。 | REPORTING_USERNAME |
password |
用于基本认证的权限密码。对于 Splunk HEC,将该值设置为 Splunk 生成的令牌。 | REPORTING_PASSWORD |
cdrEventInd |
要生成呼叫详情记录 (CDR) 事件,请定义将事件标识为 CDR 的字符串,例如 cdr。指定值包含在所有 CDR 事件的索引字段中。如果未定义值,那么不会生成 CDR 事件。 | REPORTING_CDR_EVENT_INDEX |
convEventInd |
要生成 Watson Assistant 轮次事件,请定义将事件标识为 Watson Assistant 轮次事件的字符串,例如 conv。指定值包含在所有 Watson Assistant 轮次事件的索引字段中。如果未定义值,那么不会生成 Watson Assistant 轮次事件。 | REPORTING_CONVERSATION_EVENT_INDEX |
convRequestEventInd |
用于将事件标识为 Watson Assistant 轮次事件的字符串,例如 convRequest。配置后,将在向 Watson Assistant 发送轮次请求之前生成事件。指定的值包含在轮次请求之前生成的所有 Watson Assistant 轮次事件的索引字段中。必须定义此变量才能在向 Watson Assistant 发送请求之前生成 Watson Assistant 轮次事件。 | REPORTING_CONVERSATION_REQUEST_EVENT_INDEX |
transcriptionEventInd |
要生成转录事件,请定义将事件标识为转录事件的字符串,例如 transcription。指定的值包含在所有转录事件的索引字段中。如果未定义值,那么不会生成转录事件。 | REPORTING_TRANSCRIPTION_EVENT_INDEX |
cdrCloudant |
要在 IBM Cloudant noSQL 数据库中发布 CDR 事件,请提供授权信息和主机信息。V1.0.0.5d 和更高版本。请参阅 reporting 对象的 cdrCloudant 属性。 |
不适用 |
convCloudant |
要在 IBM Cloudant noSQL 数据库中发布 Watson Assistant 轮次事件,请提供授权信息和主机信息。V1.0.0.6 和更高版本。请参阅 reporting 对象的 convCloudant 属性。 |
不适用 |
trancriptionCloudant |
要在 IBM Cloudant noSQL 数据库中发布转录事件,请提供授权信息和主机信息。V1.0.0.6 和更高版本。请参阅 reporting 对象的 transcriptionCloudant 属性。 |
不适用 |
maskCallerID |
指示是否在 CDR 和转录报告中屏蔽被叫方标识。默认值为 false。 |
REPORTING_MASK_CALLER_ID |
reporting 对象的 cdrCloudant 属性
使用 cdrCloudant 属性来配置将呼叫详细记录 (CDR) 轮次事件发布到 IBM Cloudant 数据库。
| 属性 | 描述 | 相关环境变量 |
|---|---|---|
account |
IBM Cloudant 帐户的名称(如果此名称与用户名不同) | REPORTING_CDR_CLOUDANT_ACCOUNT |
url |
IBM Cloudant 实例(用于存储 CDR 事件)托管所在的 URL。V1.0.0.5d 和更高版本。 | REPORTING_CDR_URL |
username |
如果使用 IBM Cloudant,那么是指与帐户服务凭证关联的用户名 | REPORTING_CDR_CLOUDANT_USERNAME |
password |
如果使用 IBM Cloudant,那么是指帐户服务凭证的密码 | REPORTING_CDR_CLOUDANT_PASSWORD |
apikey |
API 密钥 apikey,即 IBM Cloudant 服务的凭证。创建 IBM Cloudant 实例时,可以使用仅 IAM 选项或用户名/密码组合或 API 密钥选项来允许访问。可以通过使用 apikey 并将 url 设置为 IBM Cloudant 服务 URL(例如 https://3a14b-15g9-67aa-bluemix.cloudant.com)来配置与
IBM Cloud 服务的连接。或者,通过使用 username 和 password。V1.0.0.7 和更高版本。 |
REPORTING_CDR_CLOUDANT_APIKEY |
dbName |
IBM Cloudant 数据库名称 | REPORTING_CDR_CLOUDANT_DB_NAME |
eventInd |
要为 IBM Cloudant 数据库生成呼叫详细记录 (CDR) 事件,请定义用于将事件标识为 CDR 的字符串,例如 cdr。指定的值包含在数据库中所有 CDR 事件的索引字段中。如果未定义值,那么不会生成 CDR 事件 | REPORTING_CDR_CLOUDANT_EVENT_INDEX |
reporting 对象的 convCloudant 属性
使用 convCloudant 属性来配置将 Watson Assistant 轮次事件发布到 IBM Cloudant 数据库。
| 属性 | 描述 | 相关环境变量 |
|---|---|---|
account |
IBM Cloudant 帐户的名称(如果此名称与用户名不同) | REPORTING_CONVERSATION_CLOUDANT_ACCOUNT |
url |
IBM Cloudant 实例(用于存储轮次事件)托管所在的 URL。V1.0.0.5d 和更高版本。 | REPORTING_CONVERSATION_URL |
username |
如果使用 IBM Cloudant,那么是指与帐户服务凭证关联的用户名 | REPORTING_CONVERSATION_CLOUDANT_USERNAME |
password |
如果使用 IBM Cloudant,那么是指帐户服务凭证的密码 | REPORTING_CONVERSATION_CLOUDANT_PASSWORD |
apikey |
API 密钥 apikey,即 IBM Cloudant 服务的凭证。创建 IBM Cloudant 实例时,可以使用仅 IAM 选项或用户名/密码组合或 API 密钥选项来允许访问。可以通过使用 apikey 并将 url 设置为 IBM Cloudant 服务 URL(例如 https://3a14b-15g9-67aa-bluemix.cloudant.com)来配置与
IBM Cloud 服务的连接。或者,通过使用 username 和 password。V1.0.0.7 和更高版本。 |
REPORTING_CONVERSATION_CLOUDANT_APIKEY |
dbName |
IBM Cloudant 数据库名称 | REPORTING_CONVESATION_CLOUDANT_DB_NAME |
eventInd |
要为 IBM Cloudant 数据库生成 Watson Assistant 轮次事件,请定义用于将事件标识为 Watson Assistant 轮次的字符串,例如 conversation。指定的值包含在 IBM Cloudant 数据库中所有 Watson Assistant 轮次事件的索引字段中。如果未定义值,那么不会生成 Watson Assistant 轮次事件。 | REPORTING_CONVERSATION_CLOUDANT_EVENT_INDEX |
reporting 对象的 transcriptionCloudant 属性
使用 transcriptionCloudant 属性来配置将转录事件发布到 IBM Cloudant 数据库。
| 属性 | 描述 | 相关环境变量 |
|---|---|---|
account |
IBM Cloudant 帐户的名称(如果此名称与用户名不同)。 | REPORTING_TRANSCRIPTION_CLOUDANT_ACCOUNT |
url |
IBM Cloudant 实例(用于存储转录事件)托管所在的 URL。V1.0.0.5d 和更高版本。 | REPORTING_TRANSCRIPTION_URL |
username |
如果使用 IBM Cloudant,那么是指与帐户服务凭证关联的用户名。 | REPORTING_TRANSCRIPTION_CLOUDANT_USERNAME |
password |
如果使用 IBM Cloudant,那么是指帐户服务凭证的密码。 | REPORTING_TRANSCRIPTION_CLOUDANT_PASSWORD |
apikey |
API 密钥 apikey,即 IBM Cloudant 服务的凭证。创建 IBM Cloudant 实例时,可以使用仅 IAM 选项或用户名/密码组合或 API 密钥选项来允许访问。可以通过使用 apikey 并将 url 设置为 IBM Cloudant 服务 URL(例如 https://3a14b-15g9-67aa-bluemix.cloudant.com)来配置与
IBM Cloud 服务的连接。或者,通过使用 username 和 password。V1.0.0.7 和更高版本。 |
REPORTING_TRANSCRIPTION_CLOUDANT_APIKEY |
dbName |
IBM Cloudant 数据库名称 | REPORTING_TRANSCRIPTION_CLOUDANT_DB_NAME |
eventInd |
要为 IBM Cloudant 数据库生成转录事件,请定义用于将事件标识为转录事件的字符串,例如 transcription。指定的值包含在数据库中所有转录事件的索引字段中。如果未定义值,那么不会生成转录事件。 | REPORTING_TRANSCRIPTION_CLOUDANT_EVENT_INDEX |
smsPipe 对象属性
要在呼叫期间启用 SMS 消息传递集成,可以使用有关 SMS Gateway 实例的信息来配置租户。请参阅将 SMS Gateway 与 Voice Gateway 集成。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
connectTimeout |
Voice Gateway 等待与 SMS Gateway 建立套接字连接的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试与 SMS Gateway 进行连接。如果仍无法访问服务,那么 Voice Gateway 将通知 Conversation 服务,无法发送某个 SMS 消息。缺省情况下设置为 5 秒。V1.0.0.6 和更高版本。 | SMS_GW_CONNECT_TIMEOUT |
enableInboundSMS |
确定是否预期会收到来自呼叫者的入站 SMS 消息。设置为 True 或 False。当设置为 True 时,将创建 SMS 管道。否则,仅支持发送到呼叫者的出站 SMS 消息。可选。V1.0.0.6 和更高版本。 |
ENABLE_INBOUND_SMS |
password |
用于认证的 SMS Gateway 服务器密码。这需要是与 SMS Gateway 租户 controlCredentials 对象配置中的 password 所设置相同的值。请参阅 controlCredentials 对象属性。V1.0.0.6 和更高版本。 |
SMS_GW_PASSWORD |
username |
用于认证的 SMS Gateway 服务器用户名。这必须设置为与 SMS Gateway 租户 controlCredentials 对象配置中的 username 相同的值。请参阅 controlCredentials 对象属性。V1.0.0.6 和更高版本。 |
SMS_GW_USERNAME |
expirationInterval |
SMS 管道到期之前的时间间隔(以秒为单位)。缺省情况下设置为 1200 秒(20 分钟)。V1.0.0.6 和更高版本。 | SMS_PIPE_EXPIRATION_INTERVAL |
readTimeout |
Voice Gateway 等待来自 SMS Gateway 的响应的时间(以秒为单位)。如果超过该时间,那么 Voice Gateway 将重新尝试访问 SMS Gateway。如果仍无法访问服务,那么 Voice Gateway 将通知 Conversation 服务,无法发送某个 SMS 消息。缺省情况下设置为 5 秒。V1.0.0.6 和更高版本。 | SMS_GW_READ_TIMEOUT |
tenantPhoneNumber |
可选。租户电话号码,如“+12222222222”。V1.0.0.6 和更高版本。 | TENANT_PHONE_NUMBER |
url |
要将请求发送到的 SMS Gateway 服务器 URL。例如,http://host:port/sms.gateway/smsPipe,其中 host 和 port 已定义。V1.0.0.6 和更高版本。 |
SMS_GW_URL |
outboundCalls 对象的属性
要在租户中启用出站呼叫,必须定义出站呼叫 JSON 属性。
| JSON 属性 | 描述 | 相关环境变量 |
|---|---|---|
enableOutboundCalls |
可选。true/false。 启用或禁用出站呼叫功能。 缺省情况下设置为 false。 V1.0.2 和更高版本。 | ENABLE_OUTBOUND_CALLS |
statusWebhook |
可选。要用于异步通知的 HTTP/HTTPS URL。V1.0.2 和更高版本。 | OUTBOUND_CALLS_STATUS_WEBHOOK |
statusWebhookUsername |
可选。向 Webhook 发送通知时用于认证的用户名。 V1.0.2 和更高版本。 | OUTBOUND_CALLS_STATUS_WEBHOOK_USERNAME |
statusWebhookPassword |
可选。向 Webhook 发送通知时用于认证的密码。 V1.0.2 和更高版本。 | OUTBOUND_CALLS_STATUS_WEBHOOK_PASSWORD |
tenantURI |
可选。租户 SIP/电话 URI。如果此值未作为 REST API 调用的一部分供应,那么将在出站呼叫的 From 头中使用此值。 V1.0.2 和更高版本。 | OUTBOUND_CALLS_TENANT_URI |
connectTimeout |
可选。Voice Gateway 等待与 WEB hook 建立套接字连接的时间(秒)。如果超过此值,那么 Voice Gateway 将尝试重新连接。缺省情况下设置为 5 秒。V1.0.2 和更高版本。 | OUTBOUND_CALLS_STATUS_WEBHOOK_CONNECT_TIMEOUT |
readTimeout |
可选。Voice Gateway 等待来自 WEB hook 的响应的时间(秒)。如果超过此值,那么 Voice Gateway 将尝试重新连接。缺省情况下设置为 5 秒。V1.0.2 和更高版本。 | `OUTBOUND_CALLS_STATUS_WEBHOOK_READ_TIMEOUT |
maxRetryNo |
可选。Voice Gateway 由于连接失败而尝试与 WEB hook 进行连接的最大次数。缺省情况下设置为 2。 V1.0.2 和更高版本。 | OUTBOUND_CALLS_STATUS_WEBHOOK_MAX_RETRY_NUM |
username |
可选。REST API 调用认证的用户名。 V1.0.2 和更高版本。 | REST_API_USERNAME |
password |
可选。REST API 调用认证的密码。 V1.0.2 和更高版本。 | REST_API_PASSWORD |