Server Integration Manual
Last Updated: March 19, 2017
Created by: Arsen Chaloyan
Table of Contents
This guide describes how to integrate the UniMRCP server library into a user application. The document provides basic steps only and is not a complete reference.
The intended audience is speech application developers familiar with the C/C++ programming languages.
Unless explicitly stated, instructions provided in this guide are applicable to the following versions.
UniMRCP 1.0.0 and above
For the installation and configuration of the library, see the Installation Guide and the Server Configuration Guide.
The UniMRCP server library provides a server-side implementation of the MRCP v1 and v2 protocols. The UniMRCP server stack is a multi-threaded library implemented in the C language and built on top of a number of internal and external components. The library uses the asynchronous event-driven model with a fixed number of threads (tasks) launched upon initialization. Memory pools are used throughout the library in order to avoid dynamic memory allocations and, thus, make memory operations highly efficient.
Typically, one instance of the server stack is created per running process. The server stack is loaded from the configuration file(s). The location of the configuration directory is specified by the structure apt_dir_layout_t.
/* create default directory
layout relative to root directory path */
/* shutdown server stack processing */
This function stops the message processing loop, terminates all other activities in the server stack, and finally destroys it.
There is no such a requirement to implement a new application for that. You may use the unimrcpserver application and implement a new plugin for your engine.
Suppose you have your own media server application and your goal is to extend it with the MRCP server capabilities. In this case, you may integrate the libunimrcpserver library into your application.
· unimrcpserver – a server application written in C
· UML Design Concepts – hierarchy, activity and sequence diagrams of the client stack.
· API Reference – a documentation generated by Doxygen from the source code