MRCP
Asterisk Modules
Developer Guide
Last Updated: June 3, 2022
Author: Arsen Chaloyan
Table of Contents
2.2 Downloading the Release Package
2.3 Retrieving from the Repository
Instructions provided in this guide are applicable to the following versions.
UniMRCP modules for Asterisk 1.3.0 and above |
The following Linux distributions are primarily supported.
Operating System |
Red Hat / Cent OS 6 |
Red Hat / Cent OS 7 |
Red Hat / Cent OS 8 |
Ubuntu 14.04 LTS (trusty) |
Ubuntu 16.04 LTS (xenial) |
Ubuntu 18.04 LTS (bionic) |
Ubuntu 20.04 LTS (focal) |
Other Linux distributions should also be supported with no or minimal changes in the installation procedure.
The development tools such as autoconf, libtool, gcc, and others must be installed on the system. The following command can be used to install all the prerequisites on a Red Hat-based distribution:
yum groupinstall "Development Tools" |
Asterisk 1.6, 1.8, 10, 11, 12, 13, 14, 15, 16, 17, 18 and 19 UniMRCP 1.1.0 and above |
Note: this guide does not cover installation of Asterisk.
UniMRCP can be installed either from source or using binary development packages from the corresponding YUM or Apt repositories.
yum install unimrcp-client-devel |
or
sudo apt-get install unimrcp-client-dev |
Refer to UniMRCP installation manuals for detailed installation procedure.
The release source packages have the following naming convention asterisk-unimrcp-major.minor.patch. The packages are available in tar.gz format, and can be downloaded from the following location:
Note, that starting from 1.3.0 version, the release packages are no longer bundled with any specific version of Asterisk or UniMRCP.
The source repository is hosted on GitHub. The code can be retrieved using a git client.
git clone https://github.com/unispeech/asterisk-unimrcp.git |
If the source has been checked out from repository, the bootstrap script must be executed first in order to generate the configure script and other required files.
./bootstrap |
The usual sequence of commands configure, make and make install should follow in order to build and install the project from source.
./configure make make install |
As a result, the modules res_speech_unimrcp.so and app_unimrcp.so will be installed in the modules directory of Asterisk such as /usr/lib/asterisk/modules by default. Similarly, the configuration files res-speech-unimrcp.conf and mrcp.conf will be placed in /etc/asterisk by default.
There are a number of options which can be additionally configured.
To explicitly specify where to look for Asterisk, use the option --with-asterisk. For example, if Asterisk is installed in /usr/local/asterisk, use:
./configure --with-asterisk=/usr/local/asterisk |
To explicitly specify where the Asterisk configuration files are located, use the option --with-asterisk-conf. For example:
./configure --with-asterisk-conf=/usr/local/asterisk/conf |
To explicitly specify the Asterisk version, use the option --with-asterisk-version. For example:
./configure --with-asterisk-version=11.2.1 |
To explicitly specify where to look for UniMRCP, use the option --with-unimrcp. For example, if UniMRCP is installed using the binary packages in /opt/unimrcp, use:
./configure --with-unimrcp=/opt/unimrcp |
To exclude the module res_speech_unimrcp.so from build, use:
./configure --disable-res-speech-unimrcp |
To exclude the module app_unimrcp.so from build, use:
./configure --disable-app-unimrcp |
Run Asterisk and check if the UniMRCP modules are loaded normally.
*CLI> module show like res_speech_unimrcp.so Module Description Use Count res_speech_unimrcp.so UniMRCP Speech Engine 0 1 modules loaded
*CLI> module show like app_unimrcp.so Module Description Use Count app_unimrcp.so MRCP suite of applications 0 1 modules loaded |