Table of Contents
FreePBX is an easy-to-use GUI (Graphical User Interface) that controls and manages Asterisk.
FreePBX can be installed manually or as part of a pre-configured FreePBX Distro that includes the system OS, Asterisk, FreePBX GUI and assorted dependencies:
The following open source distributions include FreePBX:
Over this installation, you add the VoiceXML browser following the “VoiceXML browser Installation” steps. The package detects the freePBX (and Elastix) folders and add the corresponding modules. You need to finish the installation from the Web Interface following this next steps.
The FreePBX integration is only available for V12 and after VXI* VoiceXML browser releases.
VoiceXML Module installation
To access FreePBX in Elastix you have to enable Direct access from Security >Advance Setting.
Enable direct access (Non-embedded) to FreePBX : ON
Open the Browser, access URL https://your_pbx_ip_address/admin
You see a list of all the module Installed or available. The VoiceXML should be in the Application section. Its status is uninstalled.
To avoid a Message Warning associated to unsigned applications, you need to disable an option Enable Module Signature Module : set 'False' and validate.
VoiceXML Settings (Settings)
The form configure main VoiceXML general parameters.
- Record silence : When the record start, keep or remove the silence before the voice of the speaker.
- Threshold : Adjust the sensibility of the VoiceActivityDetection used by the VoiceXML module.
- WAV default codec : When the VoiceXML browser set encoding “audio/x-wav”, define the codec used with the Wav Contener.
- Debug : Enable the VoiceXML logs (for the VoiceXML Asterisk Module, and for the VoiceXML browser with verbose DEV).
- Priority Events : If mixed DTMF grammars with single DTMF keys and long DTMF inputs, set if after the first digits (events) the VoiceXML should return a value or if it should wait for possible long length input.
- Dial format : String format parameter to set the asterisk Dial() parameter with the <transfer> destination attribute. Example: SIP/%s@sip_trunk.
- Cache timeout : Remove Temporary TextToSpeech audio files after this time.
VoiceXML License (Settings)
Set the license options:
- Key : License Key provider by i6net after purchasing a commercial license.
- Expiration Date : Expiration date YYMMDD.
- Video : Enable video functions (play/record/transcoder applications).
- TextToSpeech : Enable TextToSpeech prompting.
- Speech : Enable Speech/AutomaticSpeechRecognition recognizing.
- Externals : Enable to execute Asterisk Dialplan Extension with keeping the VoiceXML session context.
- Dialer : Enable Dialer ().
VoiceXML Statistics (Reports)
VoiceXML Log Files (Reports)
VoiceXML Application (Application)
Add a VoiceXML application
Select Menu Application and item VoiceXML. Fill the Application form like this :
The VoiceXML browser will play the audio file message.wav (in the same folder). In this example, the audio content is an english message.
<?xml version="1.0"?> <vxml version = "2.0" xmlns="http://www.w3.org/2001/vxml"> <form> <block> <prompt> <audio src="message.wav"/> </prompt> </block> </form> </vxml>
To be able to execute The VoiceXML Application, you can set use a Misc Application to define a Feature Code to be able to call this service locally from any Extension Phone. Another way is to define in a 'Trunk' and use the 'Inbound route' with 'Destination' set to the VoiceXML applicatiion.on.
Add a Misc application
To be able to execute The VoiceXML Application, you can set use a Misc Application to define a Feature Code to be able to call this service locally from any Extension Phone. Select the privous VoiceXML application added. Another way is to define in a SIP trunk configuration to set the VoiceXML application too.