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 on GitHub: nvidia-riva/websocket-bridge.

Requirements#

Currently, streaming ASR is supported. Riva Speech AI services must 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 the Speech Recognition section.

Installation#

  1. Clone the GitHub repository and build the docker image:

    git clone https://github.com/nvidia-riva/websocket-bridge.git
    docker build -t riva-websocket-bridge .
    
  2. 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 riva-webscoket-bridge
    

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 Speech AI services.

Running the Service#

The service is launched automatically by the container. For further information and development details, refer to the GitHub project.