Install
Please follow the steps to install and configure your own VXI* system:
- Install Zapel from sources (optional, only for TDM)
- Install Asterisk from sources (optional)
- Install Asterisk from package
- Install Video 3G from packages (optional)
- Install VXI* from package
- Check Asterisk setup
- Check VXI* setup
- Start/Stop VXI* daemon
- Start/Stop Asterisk deamon
- Command line for VXI*
- Commercial License activation
- Configure your first VoiceXML service
- Create VoiceXML accounts
- Configure Text-to-Speech
- Configure Automatic-Speech-Recognition
1. Install Zaptel from sources (optional, only for TDM)
If your system use a TDM card, you must install first Zaptel drivers to manage T1/E1 interface.
# tar xvzf zaptel-X.X.XX.tar.gz
# cd zaptel_X.X.XX
# ./configure
# make
# make install
IMPORTANT NOTE:
Your DEBIAN/UNBUTU Linux must have installed sources packages; just check this ones before building and installing Zaptel:
apt-get install openssh-server
apt-get install ntpdate
apt-get install gcc
apt-get install binutils
apt-get install make
apt-get install libc-dev
apt-get install linux-headers-2.6.18-6-686 (or later kernel)
2. Install Asterisk from sources (optional)
The Asterisk source code can be obtained either through FTP/HTTP or SVN.
The VXI* VoiceXML browser was tested with a Digium standard Open Source Asterisk 1.2 and 1.4, please go to: http://www.asterisk.org/downloads
This URL contains the source code to the base files of the Asterisk Open Source PBX.
The file downloaded will need to be extracted before compiling. Use the GNU tar application to extract the source code from compressed archive.
This is a simple process that can be achieved through the use of the following commands :
# cd /root/src
# tar zxvf asterisk-*.tar.gz
Subversion is the best way to keep on the bleeding edge of source releases. If you are wanting to help develop for the Asterisk project, you will want to use SVN to get the most up-to-date source code.
Commands to check out code from our SVN repository:
# cd /root/srcCommands to get the current snapshot from the release branch of SVN:
# svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk
# svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2
You can check out the source at any level of the file system. This includes something like svn checkout http://svn.digium.com/svn/asterisk. However, it would be a bad idea to do so, because you will end up checking out the code for every branch and tag that exists in the asterisk repository. Make sure you are careful when checking out the code!
Asterisk is compiled with gcc through the use of GNU make program. To get started compiling Asterisk, simply run the following commands (replace version with your version of Asterisk).
# cd /root/src/asterisk-version
# make clean
# make
# make install
# make samples
Run the “make samples” command to install the default configurations files. Installing these files (instead of configuring each manually) will allow you to get your Asterisk system up and running much faster.
If your are using a system that makes use of /etc/init.d directories, you may wish to run the “make config” command as well.
This will install the startup scripts and configure the system to execute Asterisk automatically at startup.
3. Install Asterisk from package
We give you an Asterisk PBX already compiled and packaged. The package install a tiny system with some default configuration files.
It is the best way to get your Asterisk system up and ready to run.
Use root user to untar the Asterisk package by using the command:
# tar xvzf asterisk_Vx.x.x_date.tar.gz # cd asterisk_Vx.x.x_date
# ./install.sh
IMPORTANT NOTE:
If your Asterisk is already installed or your are installing from sources please check your are using:
Asterisk 1.2 => VXI* 1.4 package (discontinued)
Asterisk 1.4 => VXI* 3.X package (stable)
Asterisk 1.6 => VXI* 3.X package (beta)
4. Install Video 3G resources from package (optional)
To use 3G features, your system must have a TDM card and Zaptel. You don’t need install this package, if you are going to use your system only for voice services or IP videocalling.
# tar xvzf fontventa_X-X_date.tar.gz
# cd fontventa_X-X_date
# ./install.sh
IMPORTANT NOTE:
All sources of this package are available in sip.fonventa.com website.
5. Install VXI* from package
Use root to install VXI*.
Unzip and untar the openvxi package by using the command:
# tar xvzf vxml_VX.X_date.tar.gz
Go to the directory of the openvxi and type the following command.
# cd vxml_VX.X_date
# ./install.sh
IMPORTANT NOTE:
VXI* is now using new libraries and compiler version, before installing the VoiceXML browser please check your Operating Systems has the a GCC3 o GCC4 libraries environment :
VXI* 1.4 is build with GCC3.3 / libstdc++5
VXI* 1.5, 2.X, 3.X is build with GCC4 / libstdc++6
6. Check Asterisk Setup
Start Asterisk on your server using the command.
# asterisk –cvvvvv
The number of v’s doesn’t really matter, the more there are the more verbose asterisk will be in its display, but don’t omit the c from the end. When you do this you will see a great deal of information scroll past quite quickly, don’t worry about this, just wait until you get a prompt like :
CLI*>
To see the installed version:
CLI*> show version
First testing call (echo test), using a SIP phone.
SIP:600@<your server IP address>
7. Check VXI* Setup
At the end, if everything is OK you will have one more application added – Vxml.
You can check this by starting (or restarting) the Asterisk and using the show applications command.
# asterisk –r
CLI*> help vxml
To show the license status (DEMO) use only one channel:
CLI*> vxml show license
8. Start/Stop VXI* deamon
The VoiceXML browser software is installed in /usr/sbin and /usr/lib/openvxi. The VoiceXML browser setup script on Linux is /etc/init.d/openvxi. The openvxi script calls the /usr/sbin/safe_openvxi executable that functions as a monitor and auto-loader for your VoiceXML browser system. This safe_openvxi starts VoiceXML browser and monitors it to make sure it is still running. If the VoiceXML browser process dies, the script will attempt to restart it.
# /etc/init.d/openvxi start
If your Asterisk is not running, you must launch it now:
# /etc/init.d/asterisk start
To stop the VXI* deamon:
# /etc/init.d/openvxi stop
IMPORTANT NOTE:
This startup script runs only for DEBIAN/UBUNTU Linux distributions, please modify or install a correct this script file to launch correctly VXI* from other Linux systems. We provide a script to start the actual, AsteriskNOW linux distribution from DIGIUM.
9. Start/Stop Asterisk deamon
Our packages install a startup script, /etc/init.d/asterisk.
You may also use this script to control Asterisk from the Linux command line:
# /etc/init.d/asterisk start
# /etc/init.d/asterisk restart
# /etc/init.d/asterisk stop
# /etc/init.d/asterisk status
IMPORTANT NOTE:
This startup script runs only for DEBIAN/UBUNTU Linux distributions pleas modify or install a correct file to launch correctly VXI* from other systems. We provide a script to run VXI* with the actual, AsteriskNOW linux distribution from Digium.
10. Command line for VXI*
Now your VXI* VoiceXML browser and Asterisk PBX are running, you can manage the VXML service using the Asterisk prompt:
CLI*> help vxml
CLI*> vxml debug
CLI*> vxml no debug
CLI*> vxml reload
CLI*> vxml show license
CLI*> vxml show summary
11. Commercial License activation
The VoiceXML browser is protected by a key license. The license is host-based: each server has a different license key. If the installation is not activated, you can execute a single VoiceXML session (audio). This is the free use mode.
To obtain a commercial valid license key for your copy of VoiceXML browser (for use more than one session), you should run asterisk and get your code by typing the following commands: CLI*> vxml show licenseThe system will give you:
Version: V1.4
Code: <your_identification_code>
Max sessions: 1
Video enabled: no
To order a Commercial License for increase the maximum number of sessions (voicexml ports) supported ,you need to send us <your_identification_code>.
12. Configure your first VoiceXML service
To configure your first VoiceXML service inside Asterisk, just edit your dialpan (extensions.conf):
# cd /etc/asteriskInstall first demo VoiceXML examples programs in your /tmp directory:
# vi extensions.conf
helloworld1.vxml ; 1st program with TTS “Hello World”” using default EN lenguage
helloworld2.vxml ; 1st program with WAV file access says “Hello World!”
helloworld3.vxml ; 1st program with TTS “Hello World”” using EN-GB language
helloworld.wav ; WAV content file for helloworld2
Add a new extension in your dialplan (/etc/asterisk/extensions.conf ) like:
exten => 888,1,Answer
exten => 888,2,Wait(3)
exten => 888,3,Vxml(http://vxml.i6net.com/index.vxml)
exten => 888,4,Hangup exten => 999,1,Answer
exten => 999,2,Wait(3)
exten => 999,3,Vxml(file:///tmp/helloworld2.vxml)
exten => 999,4,Hangup
Please ensure you have reloaded your extensions in Asterisk using the prompt command:
CLI*> extensions reload
Call the service by calling :
SIP:888@<your server IP address>
SIP:999@<your server IP address>
13. Create VoiceXML accounts
The VXI* VoiceXML browser is designed to manage hosted VoiceXML services and share differents applications thru different Inbound / Outbound phone lines. This will allow you to manage customers accounts for VoiceXML hosted applications and control easily the capacity you need to assign to each one.
To create accounts, you need to add an [accountX] section (where “X” is a number 1-100) in the bottom part of the /etc/asterisk/vxml.conf file. Please find here three added accounts to manage different port capacity per application/URI:
Examples:
[account1]
name=voiceportal1
local=0099090
url=http://www.i6net.com/vxml/voiceportal1.vxml
max=25
[account2]
name=helloworld
local=0099090
url=http://www.i6net.com/vxml/helloword/index.vxml
max=10
[account3]
name=localservice
local=0099090
url=http://localhost/vxml/test.vxml
max=51
Parameters are:
[accountX]: account section where X is a unic number between 1 to 100.
name: alphanumeric variable to name the service
local: service number, please set to 0099090
url: VoiceXML application URL, can be local or remote internet, check your webserver is up!
max: maximum number of calls allowed for the service (or simultaneous sessions).
You can create until 100 hosted VoiceXML services per server with standard VXI*.
All capacity set to your application is shared between the full server capacity (VXI* actived ports), you can set any number of session for each application from 1 to maximum server ports. Remember to set secure, you must assign only available ports per service.
To assign an extension to a VoiceXML account just follow this example, where we are assigning the previous accounts to three extensions number in your /etc/asterisk/extension.conf asterisk:
[default]
exten => 981001001,1,Vxml(voiceportal1)
exten => 981001002,1,Vxml(helloworld)
exten => 981001003,1,Vxml(localservice)
IMPORTANT NOTE:
When you update your vxml.conf file, remember to refresh your configuration making a command “vxml reload” in your CLI*> prompt. If you have added SIP, PRI or new extensions you must launch “sip reload”, “extensions reload”, “dialplan reload” or reload asterisk/openvxi processes.
CLI*> extensions reload
CLI*> vxml reload
CLI*> vxml show accounts
14. Configure Text-to-Speech
The VXI* VoiceXML browser integrate a HTTP client connector to connect to a HTTP Text-To-Speech server. This allow to generate dynamically the audio content with a Text-To-Speech engine. Most VoiceXML browsers have a MRCP connector to access to this feature. The advantage of using the HTTP connector is that the “speech” generated is cached. The same content could be highly acceded with only some TTS resources.
- Flite TTS
- Ceptral TTS
- Loquendo TTS
- Nuance TTS
- Neospeech TTS
- Acapela TTS
- Verbio TTS
Others TTS engines can be connected please contact us.
IMPORTANT NOTE:
TTS usage need an HTTP/web server and PHP language installaled in same VXI* or other server. Please read the complete documentation about TTS configuration in our manual and connectors (register first to download).
############################
# TTS server configuration #
############################
#client.prompt.resource.0.uri VXIString http://localhost/tts.php
client.prompt.resource.0.method VXIString POST
client.prompt.resource.0.cacheDir VXIString /tmp
client.prompt.resource.0.format VXIString wav
client.prompt.resource.0.maxage VXIInteger -1
15. Configure Automatic-Speech-Recognition
The VXI* VoiceXML browser use the Asterisk “speech” API and the speech applications for the speech recognition. In the /etc/asterisk/vxml.cfg you have three parameters associated to the speech recognition
Speech :
To enable / disable the ASR using (vales yes/no/automatic/emulation).
- default value : no
Speechprovider :
Set the speech provider (Asterisk support to install differents speech ressources).
- default value : none
Speechdirectory :
Set the directory where are stored the builtins grammars (2 or 3 parameters complete the filename (use the %s), in order to match the rigth grammar.
- if the speechprovider is “verbio” : “/opt/verbio/data/Asr/%s/builtin/builtin_%s_%s.grm”
- if the speechprovider is “lumenvox” : “/var/lib/openvxi/grammars/ABNF_%s_%s.gram”
- default value : “/var/lib/openvxi/grammars/ABNF_%s_%s.gram”
[general]
…
speech=yes
speechprovider=lumenvox
;speechdirectory=/var/lib/openvxi/grammars/ABNF_%s_%s.gram


The documentation on how to configure TTS is very limited.
It doesn’t explain how to configure vxi* to recognize flite.
It doesn’t explain if and where I have to add the *TTS server configuration* code section.
As a result, although everything else worked like a charm, I still am not able to hear synthesized responses…
Someone, please help!
Comment by cyberfreak — April 6, 2008 @ 4:54 pm
The snippet shown under step 11, Configure Text-to-Speech is taken from the /etc/openvxi/client.cfg file. Uncomment the line that ends in tts.php.
Here is a link to the contents of my tts.php file.
http://pastebin.com/f3163fa80
I am using the swift TTS engine (Cepstral). I didn’t write the php code, I think it was installed with VXI*, but I did have to modify it to get it to work with swift. My mods start on line 35.
Line 45 is how I would execute swift from a command line. I’m not sure how to use flite but it is referenced in the code.
I hope this helps,
-Don
<
Comment by dshrout — May 29, 2008 @ 6:36 pm
I follow this instruction and try to install Asterisk 1.4.20.1 + vxml_3-1. when I try to start vxml by “service openvxml start”, openvxi crashed with “VXI ended with exit status 127″. Is there any info on how to deal with this issue?
Comment by andykwg — June 7, 2008 @ 2:32 pm
Just installed version 3.1 (beta) and when I perform a show licenses my maximum sessions are set to zero. Consequently, when I test the installation by dialing the configured extensions I get no audio feedback.
Any help would be appreciated.
Comment by mathe — June 20, 2008 @ 10:45 am
I forgot to come back early to report the solution to my problem. I am using Kubuntu (and I am not sure if this is important). Anyway, after installing the VXI browser, I needed to stop asterisk and start VXI*. For some reason, starting the VXI deamon with the command ” /etc/init.d/openvxi stop” didn’t work. Instead I had to use;
/usr/sbin/openvxi -channels 100 -config /etc/openvxi/client.cfg &
After that and of course restarting asterisk I was a happy bunny
Thanks a lot to the support team for sharing with me how to manually start VXI*…you rock!
Comment by mathe — July 23, 2008 @ 1:15 pm
About the install with Verbio TTS:
* You’ll have to ask verbio for the command line text-to-file tool (verbiot2f/verbiotxt2wav).
* Then use the tts.php script to call it.
Comment by ramon.poca — July 29, 2008 @ 12:06 pm
[...] Install [...]
Pingback by i6net » VoiceXML accounts management with VXI* — September 10, 2008 @ 8:55 am
Please let me know how to install on windows and guide us to test a sample IVVR application
Comment by Chinni Raja — April 16, 2009 @ 7:50 am
I success fully installed both Asterisk and VXI* on Linux OS and both are in running fine, but when i check the “vxml show license” through Asterisk prompt , the max sessions is showing as below.
value-desktop*CLI> vxml show license
Version : V4.0
Build :
Gcc : V4.1
Arch : 32 bits
Target : i686
Asterisk : V1.4.22.1
Date : Jan 19 2009 12:11:34
Code :
Key :
Max sessions : 0
Can i test one sample audio vxml application with zero session.
Please help me how to increase the session from 0 to 1.
Any help would be appreciated.
Comment by Chinni Raja — April 21, 2009 @ 2:50 pm
Hi Chinni, the default setup provide you one port to test VXI*
When new releases 4.X havn’t any activation key, the Max sessions is printed with 0 but it’s not a limitation.
Please try it.
Comment by ivan — May 5, 2009 @ 2:28 pm