Support for UNIMRCP

Status
Not open for further replies.

ewdpb

Member
Oct 3, 2019
151
19
18
Hi all,

We are testing a new integration with unimrcp. We have faced several challenges:

1. Our FusionPBX apparently was not installed with mod_unimrcp. FreeSwitch documentation explains how to do it:
  • Add asr_tts/mod_unimrcp to modules.conf
  • Build FreeSWITCH with 'make install'
However. we could not figure out how to do the same for FusionPBX. We cannot see how it can be either enabled on a running FusionPBX or enable it during install. Any advice on this would be very, very welcome.

We ended up doing a dirty trick: get the mod_unimrcp.so file from another freeswitch of the same version and copy it over to /usr/lib/freeswitch/mod/ After definiing the module in FusionPBX and enabling it in /etc/freeswitch/autoload_configs/modules.conf.xml, it happily comes up. We could not help to notice that the freeswitch install has many more *.so files than FusionPBX. It would be interesting to know why.

Our big fat question here is: apparently it is working but is it just that or what are we missing? What else are we supposed to do?

2. An indicator that something is still wrong, comes when we try to test (TTS). We keep getting this:

2019-10-19 15:48:39.443720 [ERR] switch_ivr_play_say.c:3006 Invalid TTS module unimrcp:unimrcpv2[en-US-Wavenet-A]!

We are using a vanilla test config, nothing fancy at all. Again, any word of advice would be welcome! Or config is below for your reference.

Many thanks!

Wilmar

------------------------------
--------------------------------------------------------------------------------------------------------------------------------
<configuration name="unimrcp.conf" description="UniMRCP Client">
<settings>
<!-- UniMRCP profile to use for TTS -->
<param name="default-tts-profile" value="unimrcpv2"/>
<!-- UniMRCP profile to use for ASR -->
<param name="default-asr-profile" value="unimrcpv2"/>
<!-- UniMRCP logging level to appear in freeswitch.log. Options are:
EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG -->
<param name="log-level" value="DEBUG"/>
<!-- Enable events for profile creation, open, and close -->
<param name="enable-profile-events" value="false"/>

<param name="max-connection-count" value="100"/>
<param name="offer-new-connection" value="1"/>
<param name="request-timeout" value="3000"/>
</settings>

<profiles>
<X-PRE-PROCESS cmd="include" data="../mrcp_profiles/*.xml"/>
</profiles>

</configuration>
--------------------------------------------------------------------------------------------------------------------------------
And the profile: (actual IPs are different)
--------------------------------------------------------------------------------------------------------------------------------
<include>
<!-- UniMRCP Server MRCPv2 -->
<profile name="unimrcpv2" version="2">
<!--param name="client-ext-ip" value="auto"-->
<param name="client-ip" value="1.2.3.4"/>
<param name="client-port" value="16090"/>
<param name="server-ip" value="1.2.3.5"/>
<param name="server-port" value="8060"/>
<!--param name="force-destination" value="1"/-->
<param name="sip-transport" value="udp"/>
<!--param name="ua-name" value="FreeSWITCH"/-->
<!--param name="sdp-origin" value="FreeSWITCH"/-->
<!--param name="rtp-ext-ip" value="auto"/-->
<param name="rtp-ip" value="auto"/>
<param name="rtp-port-min" value="14000"/>
<param name="rtp-port-max" value="15000"/>
<!-- enable/disable rtcp support -->
<param name="rtcp" value="0"/>
<!-- rtcp bye policies (rtcp must be enabled first)
0 - disable rtcp bye
1 - send rtcp bye at the end of session
2 - send rtcp bye also at the end of each talkspurt (input)
-->
<param name="rtcp-bye" value="2"/>
<!-- rtcp transmission interval in msec (set 0 to disable) -->
<param name="rtcp-tx-interval" value="5000"/>
<!-- period (timeout) to check for new rtcp messages in msec (set 0 to disable) -->
<param name="rtcp-rx-resolution" value="1000"/>
<!--param name="playout-delay" value="50"/-->
<!--param name="max-playout-delay" value="200"/-->
Universal Speech Solutions LLC | UniMRCP Module 5
<!--param name="ptime" value="20"/-->
<param name="codecs" value="PCMU PCMA L16/96/8000"/>
<!-- Add any default MRCP params for SPEAK requests here -->
<synthparams>
</synthparams>
<!-- Add any default MRCP params for RECOGNIZE requests here -->
<recogparams>
<!--param name="start-input-timers" value="false"/-->
</recogparams>
</profile>
</include>

--------------------------------------------------------------------------------------------------------------------------------
 

MTR

Member
Oct 25, 2017
181
9
18
45
This is more off a freeswitch question.

Also depend on how you installed freeswitch by source or package.
 

KonradSC

Active Member
Mar 10, 2017
166
98
28
If you installed from package you can just use apt to install the module.

apt-get install -y freeswitch-mod-unimrcp
 
Status
Not open for further replies.