i6net header image 5

Install

ivan | General | Saturday, January 26th, 2008

Please follow the steps to install and configure your own VXI* system:

  1. Install Dadhi/Zapel from sources (optional, TDM only)
  2. Install Asterisk from sources (optional)
  3. Install Asterisk from package
  4. Install Video 3G from packages (optional)
  5. Install VXI* from package
  6. Check Asterisk setup
  7. Check VXI* setup
  8. Start/Stop VXI* daemon
  9. Start/Stop Asterisk deamon
  10. Command line for VXI*
  11. Commercial License activation
  12. Configure your first VoiceXML service
  13. Create VoiceXML accounts
  14. Configure Text-to-Speech
  15. Configure Automatic-Speech-Recognition

1. Install Dadhi/Zaptel from sources (optional, only for TDM)

If your system use a TDM card, you must install first Dadhi/Zaptel drivers to manage T1/E1 interface. Dadhi has replaced Zapel, if you are using a current Asterisk’s release, use Dadhi instead of Zaptel package.

# tar xvzf dadhi-X.X.XX.tar.gz

# cd dadhi_X.X.XX
# ./configure
# make
# make install

or for previous Asterisk’s releases:

# 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 Dadhi/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/src
# svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk
Commands to get the current snapshot from the release branch of SVN:

# 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 Dadhi/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 video_X-X_date.tar.gz
# cd video_X-X_date
# ./install.sh

IMPORTANT NOTE:
This package is a special addon for VXI*

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/asterisk
# vi extensions.conf
Install first demo VoiceXML examples programs in your /tmp directory:

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

15 Comments »

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. [...] Install [...]

    Pingback by i6net » VoiceXML accounts management with VXI* — September 10, 2008 @ 8:55 am

  8. 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

  9. 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

  10. 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

  11. Hi sir/Madam,

    i have 2 javascript file. i don’t know why that is not working in VXI. that javafile getting from here http://xmljs.sourceforge.net/website/documentation-classicdom.html
    the js file name is:
    xmlsax.js
    xmlw3cdom.js

    vxi errorlog given like this

    **************************************************************************
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=TypeError: variable parser hides argument|line=888|linetxt=var iEvent, parser;|tokentxt=parser;
    Aug 1 11:53:49.62|37391248|2|EVENT|2|content=Application Error: error.semantic.ecmascript
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=ReferenceError: AUDIO_PATH is not defined|line=1|linetxt=|tokentxt=
    Aug 1 11:53:49.62|37391248|2|EVENT|2|content=Application Error: error.semantic.ecmascript
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=ReferenceError: AUDIO_PATH is not defined|line=1|linetxt=|tokentxt=
    Aug 1 11:53:49.62|37391248|2|EVENT|2|content=Application Error: error.semantic.ecmascript
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=ReferenceError: AUDIO_PATH is not defined|line=1|linetxt=|tokentxt=
    Aug 1 11:53:49.62|37391248|2|EVENT|2|content=Application Error: error.semantic.ecmascript
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=ReferenceError: AUDIO_PATH is not defined|line=1|linetxt=|tokentxt=
    Aug 1 11:53:49.62|37391248|2|EVENT|2|content=Application Error: error.semantic.ecmascript
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=ReferenceError: AUDIO_PATH is not defined|line=1|linetxt=|tokentxt=
    Aug 1 11:53:49.62|37391248|2|EVENT|2|content=Application Error: error.semantic.ecmascript
    Aug 1 11:53:49.62|37391248|2|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine exception|errmsg=ReferenceError: AUDIO_PATH is not defined|line=1|linetxt=|tokentxt=
    Aug 1 11:53:49.63|37391248|2|CRITICAL|com.speechworks.vxi|216|VXIinterpreterRun: Maximum loop count exceeded. There is probably an infinite loop of in your VXML document.|URL=../common/xmlsax.js
    ****************************************************************************

    i have used two line code in My Own javascirpt file.

    var parser = new DOMImplementation();
    var xmlobject = parser.loadXML(xmlstring);

    xmlstring is the string. Please give me response ASAP. if any plugins for debuging javascript (ECMAscript). like vxivalitator.

    Comment by pmani86 — August 4, 2009 @ 6:08 am

  12. hi,
    I use Ubuntu 9.10, and asterisk 1.6.2. Asterisk is installed from source code which is checkout from SVN trunk, and it was running well.

    I’ve just installed VXI ver 4.3 (is it compatible to asterisk 1.6?). Anyway, there is no error from installing process. But when i check with the following command
    ———————————————————————
    CLI*> help vxml
    No such command ‘vxml’

    CLI*> vxml show license
    No such command ‘vxml show license’ (type ‘core show help vxml show’ for other possible commands)
    ———————————————————————
    Did i miss something?
    I have a report in 3 days, please help.

    thanks

    Comment by Pham Quy — January 27, 2010 @ 4:10 am

  13. I did check by following command:
    ———————————————–
    CLI*> module show like vxml
    0 modules loaded
    ———————————————–

    please help, thanks.

    Comment by Pham Quy — January 27, 2010 @ 4:30 am

  14. Hi Pham,
    Your VXI* deamon is not running. Please check you have started it.
    Please, contact our support email here: http://www.i6net.com/support/
    Thank you.

    Comment by ivan — January 27, 2010 @ 11:52 am

  15. VXI* 4.3 is compliant with Asterisk 1.6.0.x and 1.6.1.x lastest Asterisk 1.6 releases need to be check.
    Please, contact our support email here: http://www.i6net.com/support/
    Thank you.

    Comment by ivan — January 27, 2010 @ 11:55 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

© 2009 I6NET Solutions and Technologies | Privacy | this website is powered by WordPress

About us: Technorati | Linkedin | TechCrunch
Follow us: RSS | Twitter | Facebook | Friendfeed | Flickr | Slideshare | Youtube
Links: Blog | Products | Support | Partners | Team | Company