录制呼叫音频
您可以配置 IBM® Voice Gateway 来将呼叫音频录制为 WAV 文件。这些录音从客户呼叫者以及从自助服务代理程序的 Text to Speech 服务或代理程序助手的呼叫中心代理程序捕获音频。
关于音频录制
缺省情况下,录制混合到一个单声道中。在 V1.0.0.4 和更高版本中,可以启用立体声录音,从而将来自呼叫者的音频以及来自 Text to Speech 服务或呼叫中心代理程序的音频录制到单独的声道中。通过立体声录制,可以单独分析每个单独音频源。例如,可以仅抽取呼叫者音频,从而分析或进一步培训 Speech to Text 定制声学模型。
配置音频录制时,所有录制内容都将保存到 voice-gateway-mr 容器的 /vgw-media-relay/recordings/ 目录下。因为录制内容是保存到容器的,所以重新部署该容器时将擦除这些录制内容。要保存录制内容,请将目录安装到机器上的本地目录或安装到 Docker 卷。
重要信息:录制的音频有可能包含受保护健康信息 (PHI)、个人身份信息 (PII) 或 PCI 数据安全标准 (PCI DSS) 数据。请确保恰当地存储录制内容以防止泄露个人信息。建议对 Voice Gateway 部署所在的磁盘进行加密,以保护可能在文件系统上高速缓存的录制。
录制文件格式
录制内容将保存为以下格式的 WAV 文件,大多数缺省音频播放器都支持该格式:
- 文件名:
[session-id]-audio.wav。例如,1234-55678-audio.wav - 采样率:8000 Hz
- 声道:
- 单声道(1 个音频声道)- 缺省
- 立体声(2 个音频声道)
- 左声道:Text to Speech 音频(自助服务代理程序)或呼叫中心代理程序音频(代理程序助手)
- 右声道:呼叫者音频
- 编码:PCM
用于文件名的 session-id 映射到 SIP 呼叫标识。要修改会话标识,请设置 CUSTOM_SIP_SESSION_HEADER 配置变量以指向定义要使用的会话标识的不同 SIP 头。有关配置的更多信息,请参阅 SIP Orchestrator 配置环境变量。
配置音频录制的方式取决于部署 Voice Gateway 的位置,如以下部分中所述。
为 Docker 引擎配置录制
-
打开您最初在 Docker 引擎上部署 Voice Gateway 时创建的
docker/docker-compose.yml文件。 -
取消注释
docker-compose.yml文件中的以下配置。该配置将启用录制并安装将保存录制内容的本地目录。要启用立体声录制,另请指定STEREO_RECORDING=true。media.relay: image: ibmcom/voice-gateway-mr:latest ... environment: ... - ENABLE_RECORDING=true - STEREO_RECORDING=true volumes: - $PWD/recordings:/vgw-media-relay/recordings - 重新部署 Voice Gateway 以使更改生效。
作为安装本地目录的备用方法,可通过运行以下命令手动将录制内容复制到本地路径:
docker cp voice-gateway-mr:/vgw-media-relay/recordings .
在 IBM Cloud Private 中配置录制
-
通过在 YAML 文件中指定卷配置来创建要包含录制的卷。
重要信息:确保
name设置为recordings,accessModes设置为ReadWriteMany,persistentVolumeReclaimPolicy设置为Retain。例如,以下 YAML 文件创建 `recordings` 卷,该卷用于将文件保存到 IBM Cloud Private 中的 `/recordings/` 目录。kind: PersistentVolume apiVersion: v1 metadata: name: recordings labels: {} spec: capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain hostPath: path: /recordings/ -
从用户界面中的 YAML 文件或从命令行创建卷。
- 在用户界面中:从仪表板中,单击创建资源。将 YAML 文件粘贴到文本区域中,然后单击创建。
-
在命令行上:运行
kubectl create -f命令。kubectl create -f recordingVol.yaml
-
在 Voice Gateway 配置中启用录音并部署。
- 在用户界面中:在 VVoice Gateway Helm 图表配置页面中,选择启用录音。单击安装以重新部署。
-
在命令行上:在
vgwEnvVariables.yaml文件中将mediaRelayEnvVariables.enableRecording属性的值设置为true,或者在命令中的--set选项上指定该值。对于
vgwEnvVariables.yaml文件,在mediaRelayEnvVariables下通过以下格式设置该属性:mediaRelayEnvVariables: enableRecording: true要在
--set选项上设置该值,请运行以下命令:helm install ibm-charts/ibm-voice-gateway --name my-release \ --set mediaRelayEnvVariables.enableRecording=true
为 IBM Cloud Kubernetes Service 中的 Kubernetes 配置录制
- 打开最初将 Voice Gateway 部署到 IBM Cloud 中的 Kubernetes 时创建的
deploy.jsonKubernetes 部署文件。 -
在
vgw-media-relay容器中,通过将ENABLE_RECORDING环境变量设置为true来启用录制。(可选)可以通过将STEREO_RECORDING设置为true来启用立体声录制。"env": [{ "name": "ENABLE_RECORDING", "value": "true" }, { "name": "STEREO_RECORDING", "value": "true" } ... ] - 重新部署 Voice Gateway 以使更改生效。
启用录制后,Voice Gateway 部署将在 Pod 上创建名为 recordings 的 Docker 卷。该卷存储每个会话的记录的音频文件。
重要信息:Lite Kubernetes 集群只能在 Pod 上创建卷,因此删除 Pod 会删除卷和录制。要将录制复制到本地目录,请运行带有以下选项的 kubectl cp 命令:
kubectl cp <namespace>/<podName>:recordings -c <containerName> <destinationDir>
例如,以下命令将 recordings 卷从 pod1 Pod 复制到当前目录。
kubectl cp default/pod1:recordings -c vgw-media-relay .