This guide describes how to integrate Avaya Aura Experience Portal (AAEP) and UniMRCP server running with Microsoft Azure Speech Recognition (SR) and Speech Synthesis (SS) plugins. The document is intended for users having a certain knowledge of Microsoft Azure Speech APIs, UniMRCP and Avaya.
For installation of UniMRCP server with Microsoft Azure SR and SS plugins, use the guides below.
Refer to the AAEP documentation to install the minimum required components such as EPM and MPP.
Instructions provided in this guide are applicable to the following versions.
UniMRCP 1.7.0 and above
UniMRCP Azure SR Plugin 1.17.0 and above
UniMRCP Azure SS Plugin 1.13.0 and above
AAEP 8.0 (7.2)
This is a brief check list of the features currently supported by the UniMRCP server running with the Azure SR and SS plugins.
DEFINE-GRAMMAR
RECOGNIZE
START-INPUT-TIMERS
SPEAK
PAUSE
RESUME
BARGE-IN-OCCURRED
STOP
SET-PARAMS
GET-PARAMS
RECOGNITION-COMPLETE
START-OF-INPUT
SPEECH-MARKER
SPEAK-COMPLETE
Input-Type
No-Input-Timeout
Recognition-Timeout
Speech-Complete-Timeout
Speech-Incomplete-Timeout
Waveform-URI
Media-Type
Completion-Cause
Confidence-Threshold
Start-Input-Timers
DTMF-Interdigit-Timeout
DTMF-Term-Timeout
DTMF-Term-Char
Save-Waveform
Speech-Language
Cancel-If-Queue
Sensitivity-Level
Kill-On-Barge-In
Completion-Cause
Voice-Gender
Voice-Name
Prosody-Rate
Prosody-Volume
Speech-Language
Logging-Tag
Cache-Control
Built-in speech transcription grammar
Built-in/embedded DTMF grammar
SRGS XML (limited support)
This section outlines common configuration steps assuming AAEP and UniMRCP server have already been installed.
For the interoperability with AAEP, set the SIP transport of UniMRCP server to TCP only in unimrcpserver.xml as follows.
<!-- SofiaSIP MRCPv2 signaling agent -->
<sip-uas id="SIP-Agent-1" type="SofiaSIP">
<sip-port>8060</sip-port>
<sip-transport>tcp</sip-transport>
</sip-uas>
Restart the UniMRCP server for the change to take effect.
systemctl restart unimrcp
In the AAEP web interface, select System Configuration -> Speech Servers -> Add -> ASR.
In the AAEP web interface, select System Configuration -> Speech Servers -> Add -> TTS.
Deploy a sample VoiceXML application to the AAEP in order to validate the setup.
The VoiceXMl applications can reside on the MPP or any other web server accessible by the MPP.
Connect to the MPP via SSH and deploy the sample VoiceXML application below.
vi /opt/Avaya/ExperiencePortal/MPP/web/misc/avptestapp/SpeechTranscription.vxml
<?xml version="1.0"?>
<!--
* Description: This is a sample speech transcription application.
* Vendor: Universal Speech Solutions LLC
-->
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<form id="welcome">
<block>
<prompt>Welcome to speech transcription application. <break time="300ms"/>Please speak</prompt>
<goto next="#main"/>
</block>
</form>
<form id="main">
<property name="recordutterance" value="false"/>
<property name="timeout" value="10s"/>
<field name="field0">
<grammar src="builtin:speech/transcribe"/>
<filled>
<log>The confidence is <value expr="application.lastresult$.confidence"/> </log>
<log>The transcription is <value expr="application.lastresult$.interpretation"/> </log>
<log>The utterance is <value expr="application.lastresult$.utterance"/> </log>
<if cond="field0 == 'exit'">
<goto next="#exit"/>
</if>
<prompt>You said <break time="300ms"/> <value expr="field0"/> <break time="300ms"/></prompt>
<prompt>Please speak</prompt>
</filled>
<nomatch>
<prompt>No match</prompt>
<reprompt/>
</nomatch>
<noinput>
<prompt>No input</prompt>
<reprompt/>
</noinput>
</field>
<block>
<goto next="#main"/>
</block>
</form>
<form id="exit">
<block>
<prompt><break time="100ms"/>Thank you. See you next time</prompt>
<disconnect/>
</block>
</form>
<catch>
<log>Caught event: <value expr="_event"/>, message: <value expr="_message"/></log>
</catch>
</vxml>
In the AAEP web interface, select System Configuration -> Applications -> Add.
https://10.0.0.5/mpp/misc/avptestapp/SpeechTranscription.vxml
Call the number associated to the configured sample application on the MPP.