UniMRCP extensions

Home >

Description

The VoiceXML browser can connect to a ASR engine using MRCP. The Media Resource Control Protocol (MRCP) is a network protocol based on the client/server model. MRCP allows client applications to control media service resources residing in servers. The first version of the protocol was published as an informational document, whereas its successor, MRCPv2, is currently a proposed standard.

UniMRCP is an open source cross-platform implementation of the MRCP client and server in the C/C++ language distributed under the terms of the Apache License 2.0. The implementation encapsulates SIP, RTSP, SDP, MRCPv2, RTP/RTCP stacks and provides integrators with an MRCP version consistent API.

The UniMCRP offers a module for Asterisk (from Asterisk 1.4 to 13), we had done many modifications for a better integration with the VoiceXML interpreter.

UniMRCP standard configuration

This link provides quick references to the documents which guide you through installation and configuration steps as well as introduce the project architecture.

Documentation : www.unimrcp.org

UniMRCP extended configuration

Mulitple ASR engines configuration

The module allows now to configure more than engine. In the section [general], we can set several profiles :

unimrcp-profile = uni1,loq1,ves1 

The engine decalre more than one speech ressource, and define then with : unimrcp:[profilename].

You can access then from the VoiceXML module configuration with :

speechprovider=unimrcp:uni1

Example of configuration file :

;
; UniMRCP ASR and TTS connector Configuration
;

[general]
;unimrcp-profile = loq1    ; Loquendo MRCPv2 Server
;unimrcp-profile = ves1     ; UniMRCP MRCPv1 Server
;unimrcp-profile = lv2      ; LumenVox MRCPv2 Server
;unimrcp-profile = lv1      ; LumenVox MRCPv1 Server
;unimrcp-profile = nss2     ; Nuance MRCPv2 Server
;unimrcp-profile = nss1     ; Nuance MRCPv1 Server
unimrcp-profile = uni1,loq1,ves1     ; 3 MRCPv1 Servers

log-level=DEBUG ;EMERGENCY 
log-output=3 ;1 console, 2 file, 3 both
cancelifqueue=false
returnnlsml=true
vendorspecificparameters=no
setparams=true
removeswi=yes
startinputtimers=false
;max=2
dtmfstopspeech=no

[grammars]
;grammar-name = path-to-grammar-file

[mrcpv2-properties]
Start-Input-Timers = TRUE
Recognition-Timeout = 20000
No-Input-Timeout = 3000
Speech-Language = es-ES ;en-US

[mrcpv1-properties]
Recognizer-Start-Timers = TRUE
Recognition-Timeout = 20000
No-Input-Timeout = 30000
Speech-Language = es-ES ;en-US
Log In