Search:
     
3CX Phone System for Windows Download the Free Edition

Add Voice Recognition to Asterisk

I recently started a small project to implement TellMe's excellent voice recognition and VoiceXML app into my Asterisk system. I currently have it working, but it's very basic.

Here are the steps..

1) Create an account at TellMe Studio.

2) Create a VoiceXML app in TellMe Studio. I have created an example one you can edit and paste in: Right click - Save as

What this VoiceXML app does is use text-to-speech to say:

"Thank you for calling the Your Last Name Goes Here residence. Who would you like to talk to? For Barbie's cellphone say, Barbie. For Ken's cellphone say, Ken."

Once you say one of the variables that it's looking for, it will post the variable to a CGI script located on your web server. This webserver could be on the same box that Asterisk is running on, or a completely different one. We can make it work either way.

3) Now we need to put this Perl CGI script I wrote on your webserver. Right click - Save as. You will need to edit the variables at the top like the Asterisk manager username and password ( I will address configuring the Asterisk Manager next ), Asterisk server IP address, Ken and Barbie's phone numbers, etc.

4) Now we need to setup the Asterisk Manager if you haven't already done so. The contents of my /etc/asterisk/manager.conf looks like this:

general
enabled = yes
port = 5038

myusername
secret = mypassword
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user


You will need to edit the permit=ip.address accordingly

5) Now all we should need to do is edit your Asterisk extensions.conf file to redirect incoming calls to a certain extension to TellMe Studio through SIP. You could also do the same thing by doing something like "s,1,Answer", etc. in your incoming context. Below is an example.

exten => 1000,1,Answer
exten => 1000,2,Dial(SIP/8005558965@sip.studio.tellme.com)


So let me explain how this all ties together just in case you don't get it..

An incoming call gets routed to TellMe Studio through SIP. It runs your VoiceXML app, and passes the variable it collects to your webserver ( specifically the asterisk.pl script ). The perl script then makes a telnet connection to the Asterisk manager. It determines which call is connected to TellMe Studio, rips it away, and passes it on to the number that variable is tied to ( the number you specified in that asterisk.pl script for ken or barbie).

If you have any questions, feel free to ask. I will do my best to help.




Links are dead at this time so here are the files attached
asterisk.pl.txt

tellme_studio.xml

Many thanx to James from support
Created by: draino,Last modification on Fri 21 of Jan, 2011 [02:58 UTC] by admin


Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - support@voip-info.org

Page Changes | Comments

 





Search: