Voice Recognition unimrcp, asterisk & nuance on Centos 5.4 64bit - Part 1

I was given the task of a building a proof of concept for a Voice Recognition system. I did the research and found Nuance seem to be top of there game in terms of Voice Rec and given I am already pretty familiar with asterisk decided to use it. Nuance have an MRCPv2 offering called Nuance Speech Server which speaks to Recognizer, so that lead me to unimrcp. It seems to be a fairly new project with a recent adaptation to connect to asterisk.

This was one of the most difficult configurations of software I have ever done and as it took me a number of days to complete this guide so there may be errors and it may not be complete.

First of all, lets do the easy bits – asterisk.

Install Centos fresh onto the server

I basically followed the guide from here for installing asterisk. As a quick revision here are the steps:

Update your centos

yum update -y

Disable selinux so it will install.

nano /etc/selinux/config

Change the protection level:

SELINUX=disabled

Reboot your box here. This is so your running the latest kernel and without selinux stopping your every move.

Download asterisk, libpri, dahdi, asterisk-addons

Unpack, Configure, Make, Make Install, Make samples and Chkconfig the above

Grab the g729 codec for development purposes & install it

At this point, I’d setup your asterisk so you can make test calls into the system. Something like this will confirm all the pieces are working.

Setup a test dialplan:

nano /etc/asterisk/extenstions.conf

I usually just wipe everything and start with a blank page, something like this will do:

[general] static=yes writeprotect=no clearglobalvars=no [default] exten => s,1,Ringing exten => s,n,Wait(2) exten => s,n,Answer() exten => s,n,Wait(1) exten => s,n,Playback(hello-world) exten => s,n,Hangup()

Once you have confirmed your asterisk is working, you can move on. I stress that you confirm this as I have spent many countless hours searching for problems that should of been discovered during the build process.

Now a little more server tweaking (for Nuance):

yum install openssl097a openssl xmlsec1-openssl xmlsec1-openssl-devel subversion expat-devel expat pkgconfig libtool automake autoconf httpd-devel

You also need to do a bit of a hack as Nuance doesn’t particularly like Centos:

Edit /etc/redhat-release:

nano /etc/redhat-release

And change the contents to:

Red Hat Enterprise Linux Server release 5.2 (Tikanga)

Thats it for part one

[p2p type="id" value="77"]