Powered by Universal Speech Solutions LLC

 MRCP

Asterisk Modules

Administrator Guide

 

Revision: 82

Distribution: Red Hat / Cent OS

Created: February 7, 2015

Last updated: May 7, 2021

Author: Arsen Chaloyan


 

Table of Contents

                     

1  Overview.. 3

1.1         Applicable Versions 3

1.2         Supported Distributions. 3

1.3         Authentication. 3

2  Installing RPMs Using YUM.. 4

2.1         Repository Configuration. 4

2.2         Repository Verification. 5

2.3         Installation of Asterisk (app-unimrcp) 5

2.4         Installation of Applications Suite (app-unimrcp) 5

2.5         Installation of Speech Resource (res-speech-unimrcp) 6

3  Installing RPMs Manually. 7

3.1         Package List 7

3.2         Package Dependency Graph. 8

3.3         Package Installation Order 8

 


 

1       Overview

This guide describes how to obtain and install binary packages of Asterisk and UniMRCP modules on Red Hat-based distributions. The document is intended for system administrators and developers.

1.1      Applicable Versions

Instructions provided in this guide are applicable to the following versions.

 

UniMRCP 1.6.0 and above

Asterisk 16 and above

1.2      Supported Distributions

UniMRCP binary packages are currently available only for x86_64 (64-bit) architecture.

 

Operating System

Released

End of Support

Red Hat / Cent OS 7

February 2017

TBA

Red Hat / Cent OS 8

May 2021

TBA

 

Note: packages for other distributions can be made available upon request. For more information, contact services@unimrcp.org.

1.3      Authentication

UniMRCP binary packages are available to authenticated users only. In order to register a free account with UniMRCP, please visit the following page.

 

https://www.unimrcp.org/profile-registration

 

Note: a new account needs to be verified and activated prior further proceeding.

 

2       Installing RPMs Using YUM

Using the Yellowdog Updater, Modifier (yum), a command-line package management utility for Red Hat-based distributions, is recommended for installation of UniMRCP binary packages.

2.1      Repository Configuration

The content of a typical yum configuration file, to be placed in etc/yum.repos.d/unimrcp.repo, is provided below.

 

[unimrcp]

name=UniMRCP Packages for Red Hat / Cent OS-$releasever $basearch

baseurl=https://username:password@unimrcp.org/repo/yum/main/rhel$releasever/$basearch/

enabled=1

sslverify=1

gpgcheck=1

gpgkey=https://unimrcp.org/keys/unimrcp-gpg-key.public

 

[unimrcp-asterisk-16]

name=UniMRCP Asterisk-16 Packages for Red Hat / Cent OS-$releasever $basearch

baseurl=https://username:password@unimrcp.org/repo/yum/asterisk-16/rhel$releasever/$basearch/

enabled=1

sslverify=1

gpgcheck=1

gpgkey=https://unimrcp.org/keys/unimrcp-gpg-key.public

 

# Do NOT use this repository on Red Hat / Cent OS 7 as the repository is currently available only for former versions.

[asterisk-current]

name=Asterisk dependencies for Red Hat / Cent OS-$releasever $basearch

baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/

enabled=1

gpgcheck=0

gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

 

The username and password fields included in the HTTPS URI must be replaced with the corresponding account credentials.

Note that the repository asterisk-current, provided by Asterisk, is used to retrieve the package asterisk-sounds-core-en-gsm. Since this repository is currently not available for Red Hat / Cent OS 7, the Asterisk sound files need to be installed separately in this case.

2.2      Repository Verification

In order to verify that yum can properly connect and access the UniMRCP repository, the following command can be used.

 

yum repolist unimrcp

yum repolist unimrcp-asterisk-16

 

where unimrcp and unimrcp-asterisk-16 are names of the sections set in the yum configuration file above.

 

In order to retrieve a list of packages the UniMRCP repositories provides, the following command can be used.

 

yum --disablerepo="*" --enablerepo="unimrcp, unimrcp-asterisk-16" list available

 

2.3      Installation of Asterisk (app-unimrcp)

In order to install Asterisk and related modules, the following commands can be used.

 

yum install asterisk

yum install asterisk-sip

yum install asterisk-pjsip

 

As a result, yum will check for and install all the required components, including the packages for Asterisk.

2.4      Installation of Applications Suite (app-unimrcp)

In order to install the app-unimrcp module, which provides a suite of MRCP applications for Asterisk, the following command can be used.

 

yum install asterisk-app-unimrcp

 

As a result, yum will check for and install all the required components, including the packages for Asterisk and UniMRCP client.

2.5      Installation of Speech Resource (res-speech-unimrcp)

In order to install the res-speech-unimrcp module, which provides an MRCP implementation of the Asterisk Speech Recognition Interface, the following command can be used.

 

yum install asterisk-res-speech-unimrcp

 

As a result, yum will check for and install all the required components, including the packages for Asterisk and UniMRCP client.


 

3       Installing RPMs Manually

UniMRCP RPM packages can be installed manually using the rpm utility. Note, however, that the system administrator should take care of package dependencies and install and install all the packages in appropriate order.

 

The Asterisk RPM packages have the following naming convention:

 

asterisk-$modulename--$astversion-$packageversion.el$rhelversion.$arch.rpm

 

where

·         modulename is the name of module (either app-unimrcp or res-speech-unimrcp)

·         astversion is the Asterisk version

·         packageversion is the RPM release version

·         rhelversion is the Red Hat version

·         arch is the architecture (x86_64, i686, …)

3.1      Package List

The following is a list of RPM packages required for installation of UniMRCP modules for Asterisk, including UniMRCP dependencies.

 

Package Name

Component

Description

asterisk-app-unimrcp

Asterisk

A suite of MRCP applications.

asterisk-res-speech-unimrcp

Asterisk

An MRCP implementation of Generic Speech Recognition Interface of Asterisk.

asterisk

Asterisk

Asterisk package.

asterisk-sip

Asterisk

Asterisk SIP channel module.

asterisk-pjsip

Asterisk

Asterisk PJSIP channel module.

asterisk-devel

Asterisk

Development files for Asterisk.

unimrcp-client

UniMRCP

Shared libraries and sample applications of the client.

unimrcp-client-dev

UniMRCP

Development kit of the client.

unimrcp-common

UniMRCP

Data common for the client and the server.

unimrcp-common-dev

UniMRCP

Development kit of the common client and server data.

uniapr

UniMRCP

UniMRCP edition of the Apache Portable Runtime (APR) library.

uniapr-dev

UniMRCP

Development kit of the corresponding APR library.

uniapr-util

UniMRCP

UniMRCP edition of the Apache Portable Runtime Utility (APU) library.

uniapr-util-dev

UniMRCP

Development kit of the corresponding APR-Util library.

unisofia-sip

UniMRCP

UniMRCP edition of the Sofia SIP library.

unisofia-sip-dev

UniMRCP

Development kit of the corresponding Sofia SIP library.

 

The respective packages for each of the components can be obtained from the UniMRCP website by visiting the download area having logged in to your account.

 

https://unimrcp.org/project/release-view

 

3.2      Package Dependency Graph

The following is a graph of package dependencies.

 

 

 

 

 

 

 

 

 

 

 

 


3.3      Package Installation Order

Note that all the RPM packages provided by UniMRCP are signed by a GNU Privacy Guard (GPG) key. Before starting the installation, you may need to import the public key in order to allow the rpm utility to verify the packages.

 

rpm --import https://unimrcp.org/keys/unimrcp-gpg-key.public

 

Packages for the APR, APR-Util and Sofia-SIP libraries must be installed first.

 

rpm -ivh uniapr-$universion-$packageversion.el$rhelversion.$arch.rpm

rpm -ivh uniapr-util-$universion-$packageversion.el$rhelversion.$arch.rpm

rpm -ivh unisofia-sip-$universion-$packageversion.el$rhelversion.$arch.rpm

 

Then, packages for common data and the client library should follow.

 

rpm -ivh unimrcp-common-$universion-$packageversion.el$rhelversion.$arch.rpm

rpm -ivh unimrcp-client-$universion-$packageversion.el$rhelversion.$arch.rpm

 

Then, the Asterisk packages should follow.

 

rpm -ivh asterisk -$astversion-$packageversion.el$rhelversion.$arch.rpm

rpm -ivh asterisk-sip-$astversion-$packageversion.el$rhelversion.$arch.rpm

rpm -ivh asterisk-pjsip-$astversion-$packageversion.el$rhelversion.$arch.rpm

 

Finally, based on your requirements, either app-unimrcp and/or res-speech-unimrcp packages can be installed.

 

rpm -ivh asterisk-app-unimrcp-$astevrsion-$packageversion.el$rhelversion.$arch.rpm

rpm -ivh asterisk-res-speech-unimrcp-$astversion-$packageversion.el$rhelversion.$arch.rpm

 

The same order should be considered for the installation of the corresponding development packages.