AudioCodes VoiceGateway Sample#

This is an implementation of the AudioCodes VoiceGateway API as defined in Voice.Ai Gateway API Version 2.2. The WebSocket bridge is a Node.js application intended to run in a Linux environment.

It accepts incoming API calls over WebSockets and translates them to the corresponding gRPC calls into Riva. It is expected to be deployed into Interactive Voice Response (IVR) or a similar scenario.

This project is open source and publicly available with additional details found here websocket-bridge <https://github.com/nvidia-riva/websocket-bridge>_.

Requirements#

Currently, streaming ASR is supported. Riva Speech Services needs to be setup and configured to respond to streaming ASR requests, with the following models:

  • Streaming ASR

  • Punctuation (optional)

For additional information regarding ASR services within Riva, refer to Speech Recognition <https://docs.nvidia.com/deeplearning/riva/user-guide/docs/service-asr.html>_.

Installation#

  1. Pull the sample image from NGC.

```bash
$ docker pull nvcr.io/nvidia/riva/websocket-bridge:2.3.0
```
  1. Run the service within a Docker container in the background accepting connections on port 8009 with a Riva implementation running at riva.hostname.tld:50051.

    $ export PORT=8009
    $ docker run -d --rm -p $PORT:$PORT -e PORT=$PORT -e RIVA_API_URL=riva.hostname.tld:50051 nvcr.io/nvidia/riva/websocket-bridge:2.3.0
    

Environment variables manage configuration parameters for the WebSocket port and the Riva URI. These are kept in the env.txt configuration file, where you can set the URL of your running Riva AI services.

Running the Service#

The service is launched automatically by the container. For further information and development details, refer to websocket bridge <https://github.com/nvidia-riva/websocket-bridge>_.