Serviços de codec externos
A partir do IBM Voice Gateway Versão 1.0.3, os usuários podem implementar microsserviços externos que oferecem suporte para mais codecs de áudio para chamadas manipuladas pelo IBM Voice Gateway. Esses microsserviços expõem uma interface de websocket que pode ser usada para estabelecer uma conexão com o IBM Voice Gateway para fins de codificação e decodificação de áudio. A lista dos serviços de codec externos suportados atualmente inclui:
- Serviço de codec G.729: inclui suporte para o codec G.729 anexo A/B para o IBM Voice Gateway.
Incluindo o suporte de codec G.729 em uma implementação existente do IBM Voice Gateway
Para uma instalação local, é possível implementar o Serviço de codec G.729 como parte do ambiente do IBM Voice Gateway no Docker. O Serviço de codec G.729 é empacotado como uma imagem separada do Docker que pode ser configurada e implementada juntamente com as imagens principais do SIP Orchestrator e do Media Relay.
Antes de iniciar
- Familiarize-se com as opções de implementação do Voice Gateway e implemente um ambiente básico, conforme descrito em Introdução ao Voice Gateway
Implementando no mecanismo de Docker
Para obter informações de configuração completas para iniciar as implementações do Docker, consulte Implementando o Voice Gateway no Docker
- Em um arquivo
docker-compose.ymlexistente, inclua uma nova seção de serviço de contêiner do Docker para a seçãog729.codec.service:services: sip.orchestrator: ... media.relay: ... g729.codec.service: image: ibmcom/voice-gateway-codec-g729:latest -
No mesmo arquivo, na configuração do Media Relay, defina a variável de ambiente
EXTERNAL_AUDIO_TRANSFORMS. Como seu valor, especifique um URI do websocket que aponte para o serviço Codec G.729. Essa variável especifica quais serviços de codec o Media Relay deve usar para codificação e decodificação de áudio.# docker-compose.yml services: media.relay: ... environment: - SDP_ADDRESS=${EXTERNAL_IP} ... - EXTERNAL_AUDIO_TRANSFORMS=ws://g729.codec.service:9001 -
Inicie os contêineres executando o comando a seguir:
docker-compose up -
Faça um teste com um telefone SIP que suporte o codec G.729. Ao configurar o cliente SIP, tenha em mente as seguintes considerações:
- Se você executar o cliente SIP na mesma máquina que o Voice Gateway, certifique-se de configurar o cliente SIP para usar uma porta diferente de 5060 (por exemplo, 5062) para evitar conflitos de porta.
- Configure o cliente SIP para atender em um endereço IP para o qual o Voice Gateway pode rotear. Por exemplo, o cliente SIP pode ser configurado por padrão para atender em um endereço de loopback e será necessário alterar essa configuração.
- Desative o IPv6 no cliente SIP.
Para testar o Voice Gateway, chame o URI de SIP a seguir de seu telefone SIP:
sip:watson@<IP address of Voice Gateway>:5060
Implementando no Kubernetes
Para obter informações de configuração completas para iniciar as implementações do Kubernetes, consulte Implementando o Voice Gateway em um cluster Kubernetes.
-
Em um arquivo
deploy.ymlexistente, inclua uma nova seção de contêiner para a seçãovgw-g729-codec-service:# deploy.yaml kind: Deployment containers: - name: vgw-media-relay image: ibmcom/voice-gateway-mr:latest ... - name: vgw-g729-codec-service image: ibmcom/voice-gateway-codec-g729:latest ... -
No mesmo arquivo, na configuração do Media Relay, defina a variável de ambiente
EXTERNAL_AUDIO_TRANSFORMS. Como seu valor, especifique um URI do websocket que aponte para o serviço Codec G.729. Essa variável especifica quais serviços de codec o Media Relay deve usar para codificação e decodificação de áudio.# deploy.yaml kind: Deployment containers: - name: vgw-media-relay image: ibmcom/voice-gateway-mr:latest ports: - containerPort: 8080 hostPort: 8080 protocol: TCP lifecycle: preStop: exec: command: - "/opt/quiesce.sh" env: - name: SDP_ADDRESS ... - name: EXTERNAL_AUDIO_TRANSFORMS value: 'ws://localhost:9001' -
Implemente seu cluster Kubernetes especificando seu arquivo de configuração de implementação no comando kubectl create.
kubectl create -f deploy.yaml -
Verifique se seu cluster está em execução com o comando kubectl get pods.
O comando exibe o status de todos os pods em seu cluster.
>kubectl get pods NAME READY STATUS RESTARTS AGE vgw-4151379926-7xbz5 2/2 Running 0 6s -
Faça um teste com um telefone SIP que suporte o codec G.729. Ao configurar o cliente SIP, tenha em mente as seguintes considerações:
- Se você executar o cliente SIP na mesma máquina que o Voice Gateway, certifique-se de configurar o cliente SIP para usar uma porta diferente de 5060 (por exemplo, 5062) para evitar conflitos de porta.
- Configure o cliente SIP para atender em um endereço IP para o qual o Voice Gateway pode rotear. Por exemplo, o cliente SIP pode ser configurado por padrão para atender em um endereço de loopback e será necessário alterar essa configuração.
- Desative o IPv6 no cliente SIP.
Para testar o Voice Gateway, chame o URI de SIP a seguir de seu telefone SIP:
sip:watson@<IP address of Voice Gateway>:5060