录制呼叫音频

您可以配置 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 映射到 SIP 呼叫标识。要修改会话标识,请设置 CUSTOM_SIP_SESSION_HEADER 配置变量以指向定义要使用的会话标识的不同 SIP 头。有关配置的更多信息,请参阅 SIP Orchestrator 配置环境变量

配置音频录制的方式取决于部署 Voice Gateway 的位置,如以下部分中所述。

为 Docker 引擎配置录制

  1. 打开您最初在 Docker 引擎上部署 Voice Gateway 时创建的 docker/docker-compose.yml 文件。

  2. 取消注释 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
    
  3. 重新部署 Voice Gateway 以使更改生效。

作为安装本地目录的备用方法,可通过运行以下命令手动将录制内容复制到本地路径:

  docker cp voice-gateway-mr:/vgw-media-relay/recordings .

在 IBM Cloud Private 中配置录制

  1. 通过在 YAML 文件中指定卷配置来创建要包含录制的卷。

    重要信息:确保 name 设置为 recordingsaccessModes 设置为 ReadWriteManypersistentVolumeReclaimPolicy 设置为 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/
    
  2. 从用户界面中的 YAML 文件或从命令行创建卷。

    • 在用户界面中:从仪表板中,单击创建资源。将 YAML 文件粘贴到文本区域中,然后单击创建
    • 在命令行上:运行 kubectl create -f 命令。

          kubectl create -f recordingVol.yaml
      
  3. 在 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 配置录制

  1. 打开最初将 Voice Gateway 部署到 IBM Cloud 中的 Kubernetes 时创建的 deploy.json Kubernetes 部署文件。
  2. vgw-media-relay 容器中,通过将 ENABLE_RECORDING 环境变量设置为 true 来启用录制。(可选)可以通过将 STEREO_RECORDING 设置为 true 来启用立体声录制。

    "env": [{
             "name": "ENABLE_RECORDING",
             "value": "true"
           },
           {
             "name": "STEREO_RECORDING",
             "value": "true"
            }
            ...
           ]
    
  3. 重新部署 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 .