Deepgram UniMRCP Plugin

Deepgram offers a plugin for speech recognition for the UniMRCP Server (UMS), which is a popular open-source project that offers cross-platform MRCP services. To use this plugin with on-prem deployments, you must take some additional steps.

Deploying UniMRCP On-prem

In addition to the installation guide posted at UMS Deepgram SR - Deb Installation Manual, the following changes are required to successfully integrate umsdeepgram with an on-prem deployment.

Adding a new service-endpoint for on-prem

In the umsdeepgram.xml configuration file, add a service-endpoint child element to the service-endpoints element. You must specify the on-prem deployment’s IP address and port number in the service-uri attribute. On-prem’s URI is /v1/listen/stream and is only a web socket (ws), not a secure web socket (wss).

<service-endpoints load-balancing="round-robin" fail-over="true">
      <service-endpoint enable="true" service-uri="ws://ONPREM_IP_ADDRESS:ONPREM_PORT/v1/listen/stream"/>
</service-endpoints>

This can coexist alongside a hosted service-endpoint.

<service-endpoints load-balancing="round-robin" fail-over="true">
      <service-endpoint enable="true" service-uri="ws://ONPREM_IP_ADDRESS:ONPREM_PORT/v1/listen/stream"/>
      <service-endpoint enable="true" service-uri="wss://api.deepgram.com/v1/listen"/>
</service-endpoints>

Deepgram License Key

Even though the license key for Deepgram on-prem is specified in the api.toml and engine.toml files, and the Deepgram API only accepts HTTP ASR requests, the deepgram.subscription.key file must exist and match the schema specified in the plugin installation instructions for Deepgram hosted. This is especially important if Deepgram on-prem must coexist alongside a Deepgram-hosted service-endpoint.

{
	"auth-key": "HOSTED_AUTH_KEY"
}

If you do not have a Deepgram-hosted authorization key, the auth-key value can be empty, such as:

{
	"auth-key": ""
}