Gravando áudio da chamada

É possível configurar o IBM® Voice Gateway para registrar áudio de chamada em um arquivo WAV. As gravações capturam o áudio do responsável pela chamada do cliente e do serviço Text to Speech para agentes de autoatendimento ou do agente da central de atendimento para assistentes do agente.

Sobre a gravação de áudio

Por padrão, as gravações são combinadas em um único canal mono. Na Versão 1.0.0.4 e mais recente, é possível ativar a gravação estéreo para capturar o áudio do responsável pela chamada e o áudio do serviço Text to Speech ou agente de central de atendimento em canais de áudio separados. Com a gravação estéreo, é possível analisar separadamente cada origem de áudio individual. Por exemplo, é possível extrair somente o áudio do responsável pela chamada para análise ou treinamento adicional de um modelo acústico customizado do Speech to Text.

Quando a gravação de áudio é configurada, todas as gravações são salvas no contêiner voice-gateway-mr sob o diretório /vgw-media-relay/recordings/. Como as gravações são salvas no contêiner, elas são apagadas quando o contêiner é reimplementado. Para salvar as gravações, monte o diretório em um diretório local em sua máquina ou em um volume do Docker.

Importante: O áudio registrado pode potencialmente conter dados de Informação protegida de saúde (PHI), Informações pessoalmente identificáveis (PII) ou Padrão de segurança de dados de PCI (PCI DSS). Certifique-se de que as gravações estejam armazenadas corretamente para evitar a exposição de informações pessoais. Recomenda-se criptografar o disco no qual o Voice Gateway é implementado, para proteger as gravações que podem ser armazenadas em cache no sistema de arquivos.

Gravando o formato de arquivo

As gravações são salvas como arquivos WAV no formato a seguir, que é suportado pela maioria dos reprodutores de áudio padrão:

O session-id que é usado para o nome do arquivo é mapeado para o ID de chamada do SIP. Para modificar o ID de sessão, configure a variável de configuração CUSTOM_SIP_SESSION_HEADER para apontar para o cabeçalho SIP diferente que define o ID de sessão a ser usado. Para obter mais informações sobre configuração, veja Variáveis do ambiente de configuração do SIP Orchestrator.

O modo de configuração da gravação de áudio depende de onde você tiver implementado o voice gateway, conforme descrito nas seções a seguir.

Configurando a gravação para o Docker Engine

  1. Abra o arquivo docker/docker-compose.yml criado quando você implementou o Voice Gateway no Docker Engine inicialmente.

  2. Remova o comentário da configuração a seguir no arquivo docker-compose.yml. Essa configuração permite a gravação e monta um diretório local no qual as gravações serão salvas. Para ativar a gravação estéreo, especifique também 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. Reimplemente o Voice Gateway para que suas mudanças entrem em vigor.

Como uma alternativa para montar o diretório local, é possível copiar manualmente as gravações para um caminho local, executando o comando a seguir:

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

Configurando a gravação no IBM Cloud Private

  1. Crie um volume para conter as gravações especificando a configuração de volume em um arquivo YAML.

    Importante: certifique-se de que name esteja configurado como recordings, que accessModes esteja configurado como ReadWriteMany e que persistentVolumeReclaimPolicy esteja configurado como Retain.

    Por exemplo, o arquivo YAML a seguir cria um volume recordings que salva os arquivos no diretório /recordings/ no IBM Cloud Private.

     kind: PersistentVolume
     apiVersion: v1
     metadata:
       name: recordings
       labels: {}
     spec:
       capacity:
         storage: 2Gi
       accessModes:
       - ReadWriteMany
       persistentVolumeReclaimPolicy: Retain
       hostPath:
         path: /recordings/
    
  2. Crie o volume a partir do arquivo YAML na interface com o usuário ou a partir da linha de comandos.

    • Na interface com o usuário: no Painel, clique em Criar recurso. Cole o arquivo YAML na área de texto e clique em Criar.
    • Na linha de comandos: execute o comando kubectl create -f.

      kubectl create -f recordingVol.yaml
      
  3. Ative a gravação na configuração do Voice Gateway e implemente.

    • Na interface com o usuário: na página de configuração de gráfico Helm do VVoice Gateway, selecione Ativar gravação. Clique em Instalar para reimplementar.
    • Na linha de comandos: configure o valor da propriedade mediaRelayEnvVariables.enableRecording para true no arquivo vgwEnvVariables.yaml ou especifique-o no comando na opção --set.

      Para o arquivo vgwEnvVariables.yaml, configure a propriedade sob o mediaRelayEnvVariables no seguinte formato:

      mediaRelayEnvVariables:
        enableRecording: true
      

      Para configurar o valor em --set option, execute o comando a seguir:

      helm install ibm-charts/ibm-voice-gateway --name my-release \
      --set mediaRelayEnvVariables.enableRecording=true
      

Configurando a gravação para o Kubernetes no IBM Cloud Kubernetes Service

  1. Abra o arquivo de implementação do Kubernetes deploy.json criado quando você implementou o Voice Gateway no Kubernetes no IBM Cloud inicialmente.
  2. No contêiner vgw-media-relay, ative a gravação configurando a variável de ambiente ENABLE_RECORDING para true. Opcionalmente, é possível ativar a gravação estéreo configurando STEREO_RECORDING para true.

    "Env": [ {
             "name": "ENABLE_RECORDING",
             "value": "true"
           },
           {
             "name": "STEREO_RECORDING",
             "value": "true"
            }
            ...
           ]
    
  3. Reimplemente o Voice Gateway para que suas mudanças entrem em vigor.

Quando a gravação está ativada, a implementação do Voice Gateway cria um volume do Docker chamado recordings no pod. Esse volume armazena os arquivos de áudio para as gravações de cada sessão.

Importante: os clusters do Lite Kubernetes só podem criar volumes no pod, portanto excluir o pod exclui o volume e as gravações. Para copiar as gravações em um diretório local, execute o comando kubectl cp com as opções a seguir:

 kubectl cp <namespace>/<podName>:recordings -c <containerName> <destinationDir>

Por exemplo, o comando a seguir copia o volume recordings do pod pod1 para o diretório atual.

 Kubectl cp default/pod1 :recordings -c vgw-media-relay.