Please follow the steps to install your VXI* system:
Download (PDF):
Steps:
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/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 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 license
The 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.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.
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