MRCP environment

MRCP proxy

TTS MRCPv2 proxy is provided upon request. It is distributed as a separate docker image.

The MRCP package contains:

  • service docker image in .tar.gz format (e.g. tts-mrcp-plugin:X.Y.Z-image.tar.gz)

  • docker-compose.yml - startup file for Docker Compose

  • .env - hidden configuration file (can be listed by using ls -a command)

To load docker image locally, use the following command:

docker load -i tts-mrcp-plugin:X.Y.Z-image.tar.gz

(make sure to use the actual image name)

After successful image loading, a message similar to this one will appear:

Loaded image: tts-mrcp-plugin:X.Y.Z

Configuration of MRCP environment

The following variables in the .env file have to be set properly:

Docker Compose configuration:

  • DOCKER_IMAGE - the name of the MRCP plugin image.

  • CONTAINER_NAME - the name of the docker container with the MRCP server instance to be created .

  • COMPOSE_PROJECT_NAME - the name of the docker project to be created.

MRCP Server configuration:

  • SERVER_IP - the host machine’s IP. (NOTE - Setting localhost or 127.0.0.1 may not work as desired, as the server is run inside a docker container, which uses its own localhost, by default different than host machine).

  • SIP_PORT - the session Initiation Protocol port. Used to create and manage connections between MRCP server and clients. (This is the most important port, with some clients e.g. FreeSWITCH it is enough to provide only SIP_PORT).

  • MRCP_V2_PORT - the MRCPv2 Port - used for protocol communication (default).

  • MRCP_V1_PORT - the MRCPv1 Port - used for protocol communication (optional).

  • RTP_MIN_PORT - the starting port of Real-time Transport Protocol range. It is used to transport the audio data from a client to the server.

  • RTP_MAX_PORT - the last port of Real-time Transport Protocol range. Number of RTP ports should be at least 2 times higher than number of simultaneous connections. Recommended is 4x number of simultaneous connections.

  • SERVICE_ADDRESS - an address of TTS service to be used with MRCP server plugin. It should be provided in the “IP:Port” format.

Values provided in .env file are random and can be set freely. All but RTP operate on TCP protocol. For further information on MRCP and its implementation UniMRCP please consult the official documentation:

  • MRCPv2 Official - https://tools.ietf.org/pdf/rfc6787.pdf

  • UniMRCP - http://www.unimrcp.org/index.php/solutions/server

Session security settings: Optional TLS connection is supported. Certificate key pair generated by the user should be placed in the tls/ directory, which should then be mounted as a container’s volume by docker-compose.yml.