Voicegain offers MRCP ASR in several deployment options:
- Cloud deployment - because of the multitude of the ports that need to be open for MRCP protocol, Cloud is not an ideal place to run MRCP ASR. We do provide an IVR Proxy that simplifies use of MRCP ASR in the Cloud, but it is meant mainly for low volume traffic (testing, PoC, etc.)
- Edge deployment into a Kubernetes cluster - this is our recommended deployment for large numbers of ports (80+), see: https://github.com/voicegain/platform/tree/master/how-to, however, Edge setup works best in environments that have access to Internet. It is possibly, to run it air-gapped - but that would be a custom solution.
- Dockerized deployment - either to a hardware system or to a VM. Works fine in air-gapped environments. This supports either:
- CPU-only deployment for smaller number of ports
- GPU deployment - for installs with hundreds/thousands of ports.
Requirements for a Dockerized CPU-only deployment.
The numbers below have been estimated based on a deployment to a VMware VM on a machine with Intel Xeon Gold 6132 2.6ghz CPU.
As used in this document, a vCPU represents a hyper-thread on a physical CPU. Modern CPUs feature multiple cores, and many of them can run two threads per core using technologies like hyper-threading. This means a single physical CPU core can appear as two logical processors to an operating system. A vCPU is essentially one of these logical processors. For example, Intel Xeon Gold 6132 has 14 physical cores and 28 hyperthreads, thus 28 logical vCPUs.
Note, vCPUs as understood here, are not equivalent to e.g. vCPUs of VMware VMs which can be over-provisioned.
| Number of Ports | Ratio of recognition time to prompt time | ||
| 20/80 (typical IVR) |
50/50 (question-heavy IVR) |
Non-stop recognition | |
| 10 | 6 vCPU 16 GB RAM |
8 vCPU 16 GB RAM |
12 vCPU 16 GB RAM |
| 40 | 10 vCPU 16 GB RAM |
24 vCPU 20 GB RAM |
48 vCPU 40 GB RAM |
| 80 | 20 vCPU 16 GB RAM |
48 vCPU 40 GB RAM |
96 vCPU 80 GB RAM |
| 100 | 24 vCPU 20 GB RAM |
60 vCPU 50 GB RAM |
120 vCPU 100 GB RAM |
We suggest at least 100GB disk, which will mainly be used for docker images caching.
Deployment can be done on any machine or VM that supports Docker Compose V2. Here is info how to install the core Docker and Docker Compose. Docker supports a wide variety of operating systems, please see the linked Docker documentation. Note: we do not need Docker Desktop, but you can install if if you prefer - note the licensing requirements for Docker Desktop.
Installation of Dockerized setup of Voicegain MRCP ASR
Note this assumes that the environment is able to reach internet to download the needed docker images.
- Verify that you have docker version 17.12.0 or higher installed
- Also verify that you have docker-compose-plugin installed: sudo apt list --installed | grep docker
- Download the unimrcp-rex-compose.tar file from https://s3.us-east-2.amazonaws.com/files.public.voicegain.ai/unimrcp-rex-compose.tar, and untar it
- cd into unimrcp-rex-compose folder
- Copy your key that you received from us into .env file that you will find in the folder
- Put your external IP into line 17 of unimrcpserver.xml file in unimrcp-rex-compose folder (replace the value between <ext-ip></ext-ip>)
- Put the vg-customer-private-ro-key.json that you received from us, into unimrcp-rex-compose folder
- Run βcat vg-customer-private-ro-key.json | sudo docker login -u _json_key --password-stdin https://us-docker.pkg.devβ to log into voicegain private docker repository.
- Run βsudo docker compose up -dβ from command line in unimrcp-rex-compose folder
- It will take a while to download all the components
- Ready to test
- Use this command to tail the logs: docker-compose logs -f -t
The environment should allow the following inbound traffic (as the port range may change, please check values of <rtp-port-min> and <rtp-port-max> in unimrcpserver.xml and ports in docker-compose.yaml)
- MRCP v1:
- 1554 TCP: for RTSP
- 15001-15050 UDP: for RTP
- MRCP v2
- 8060 TCP and UDP: for SIP - we strongly suggest using TCP SIP to simplify troubleshooting any issues
- 1544 TCP: for RTSP
- 15001-15050 UDP: for RTP
Comments
0 comments
Article is closed for comments.