vxi_installation_guide:configuration:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vxi_installation_guide:configuration:start [2015/06/05 18:21] – [Monitor] borjavxi_installation_guide:configuration:start [2018/06/13 22:51] (current) borja
Line 59: Line 59:
 |autoexit | yes/no | no | Stop the Asterisk with return code -1, if VXI interpreter no answer (msq timeouts). | |autoexit | yes/no | no | Stop the Asterisk with return code -1, if VXI interpreter no answer (msq timeouts). |
 |monitor | yes/no/old/1..100 | no | yes execute mixmonitor() (or monitor() if old) before starting the VoiceXML session. You can set a random value (using a %).| |monitor | yes/no/old/1..100 | no | yes execute mixmonitor() (or monitor() if old) before starting the VoiceXML session. You can set a random value (using a %).|
-|monitordirectory |directory|mixmonitor directory|Set the mixmonitor() monitor() directory or use the default one (/var/lib/asterisk/monitor).|+|monitordirectory |directory|mixmonitor directory|Set the mixmonitor() monitor() directory or use the default one (/var/lib/asterisk/monitor). You can set @caller, @called, @both or @freepbx to change the default naming filename.|
 |monitorformat |wav/gsm/pcm/ulaw/alaw|wav|Set the format for the mixmonitor recording.| |monitorformat |wav/gsm/pcm/ulaw/alaw|wav|Set the format for the mixmonitor recording.|
 |defaulttimeout |value in milisecondes|5000|Default timeout if not set in the VoiceXML syntax.| |defaulttimeout |value in milisecondes|5000|Default timeout if not set in the VoiceXML syntax.|
Line 176: Line 176:
 |key|License key|  |Key after purchasing a official commercial license. If not set or wrong key, you have 1 trial VoiceXML channel.| |key|License key|  |Key after purchasing a official commercial license. If not set or wrong key, you have 1 trial VoiceXML channel.|
  
-==== Control ====+===== Control Section [control] ====== 
 + 
 +The control section describes the control functions that allow you to configure DTMF commands that stream a file with fast forward, pause, reverse, restart, etc.  To enable a control during a prompt, you must first set the VoiceXML property name to equal “control, with a value of “yes.” 
 + 
 +<code> 
 +<property name=”control” value=”yes” /> 
 +</code> 
 + 
 +This works only with GSM and WAV files - in all other cases the property is ignored.
  
 ^Key ^Values ^Default ^Purpose | ^Key ^Values ^Default ^Purpose |
-|forward |    +|forward | dtmf Fast-forward when this DTMF digit is received. 
-|reverse |    +|reverse | dtmf empty Rewind when this DTMF digit is received. 
-|stop |  |   +|stop | dtmf  0123456789 Stop when this DTMF digit is received. 
-|pause |    +|pause | dtmf empty Pause playback when this DTMF digit is received. 
-|restart |    +|restart | dtmf empty Restart playback when this DTMF digit is received. 
-|skipms |    |+|skipms | number 5000 This is the number of milliseconds to skip when rewinding or fast-forwarding. |
  
 =====  Account Section [account_] ===== =====  Account Section [account_] =====
Line 229: Line 237:
  
 ^Key ^Values ^Default ^Purpose | ^Key ^Values ^Default ^Purpose |
-|name |  |  |  +|name | string |  | The name or designation of the account. This reference can be used to identify the account used by the VXML application, Vxml(name of the account). 
-|number |  |  |  +|number | number/expression |  | The identification of an account with the called number, signaling information from the ANI function, CALLERID(). You can use the “*”, the wildcard character, to specify a substring such as *03 or 014612* , that the number function will contain. You can start the number with “_” to use Asterisk Diaplan Patterns too (see : http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns).The function can also be used to identify the account, like the name, Vxml(number of the account). You can start the number with “@” to match the caller number to the account number (use the same syntax as the called number There is a way to ) 
-|url |  |  |  +|url | URL |  | The VoiceXML URL of the account. 
-|urlvideo |  |  |  +|urlvideo | URL |  | The VoiceXML video URL of the account. 
-|max |    +|max | number max The maximum number of sessions allowed to this account. If there are not enough sessions then the VoiceXML application will generate an error. 
-|dialformat |    +|dialformat | string empty This is similar to the general function, but for the account only. If not set, use the general value. 
-|dialformatvideo |  |  |  +|dialformatvideo | string empty |  | The same purpose as the dialformat, only for video sessions. 
-|dialnumbersonly |   |  | +|dialnumbersonly | yes/no no |  | 
-|force | y/n/video/audio/ulaw/alaw/flash/ringing/vxml/h263/h263p/h264 |  | y=Video / n=audio |+|force | yes/nno/video/audio/ulaw/alaw/flash/ringing/vxml/h263/h263p/h264 |  | If set to video, set the Transfercapability to VIDEO (and enable the h324m processing). If set to audio, the Vxml application execute directly the account URL and bypass the redirection execution (parameter with '@'). |
 |videoprofile |  |  |  | |videoprofile |  |  |  |
-|speech | y/n/emulation/automatic/debug |   +|speech | yes/no/emulation/automatic/debug | general As the general function, but for the account only. If not set, use the general value. 
-|speechprovider |    +|speechprovider | string general As the general function, but for the account only. If not set, use the general value. 
-|speechscore |  |  |  +|speechscore |  |  | As the general function, but for the account only. If not set, use the general value. 
-|speechfactor   +|mark string empty Set a string mark in the VoiceXML browser traces. The session ID and this string will be added to the channel number column (3rd) in the traces (Example : …33… → …33_1_user1… ). Four redirection exist : @remote : @remote : caller number, local : called number, @id : VoieXML id parameter value, @param : VoiceXML parameter value
-|speechforcescore |  |  |  | +|durationlimit | number The maximum duration in seconds for the session using this account. The call will be hangup after this maximal duration. |
-|speechforcename |  |  |  | +
-|mark |  |  |  +
-|durationlimit |    |+
 |maxtime |  |  |  | |maxtime |  |  |  |
 |param |  |  |  | |param |  |  |  |
Line 257: Line 262:
 |audiowait |  |  |  | |audiowait |  |  |  |
  
-=====  LogsSection [logs] =====+=====  LogsSection [logs] (deprecated) =====
  
 ^Key ^Values ^Default ^Purpose | ^Key ^Values ^Default ^Purpose |
Line 266: Line 271:
  
  
-=====  General Section [general] ===== 
- 
-The following section covers general functions of VXI*. 
- 
-**debug= {0/1}** 
- 
-The default is 0, meaning no debug.  If the function is set with a value greater than 0, the VoiceXML Asterisk application will generate debug traces. 
- 
-**autoanswer= {yes/no}** 
- 
-The default is yes.  If set, the VoiceXML application will answer the Asterisk channel before starting the VoiceXML session. 
- 
-**autohangup= {yes/no}** 
- 
-The default is no.  If set, the VoiceXML application will hangup the Asterisk channel at the end of the the VoiceXML session. 
- 
-**autoexit= {yes/no}** 
- 
-The default is yes.  If set, the VoiceXML application will force the exit (with -1 return value) of the Asterisk if the connection with OpenVXI is lost. 
- 
-**defaulttimeout= {1..60}** 
- 
-You can set the default timeout value to allow for DTMF recognition, if not set from the VoiceXML syntax.  In milliseconds (ms). 
-The default value is 5s 
- 
-**defaultinterdigittimeout= {1}** 
- 
-The default interdigit timeout value can be set to allow for DTMF recognition, if not set from the VoiceXML syntax. 
- 
-**wavcode= {pcm/gsm}** 
- 
-This function allows you to configure the default codec for the record associated to the MIME type “audio/x-wav”.  You can select gsm or pcm.  While the default codec is PCM, the audio files recorded could be too big to be easily posted to an HTTP server. 
- 
-**audiosilence= {filename}** 
- 
-The VoiceXML browser can loop and generate a sound during interaction phases. Enter the specified sound file in pcm format (you will need to omit the filename extension). Sound files are stored in the /var/lib/asterisk/sounds directory by default, however the directory path can be changed in asterisk.conf. The default value is no filename. This function is disabled in this release. 
- 
-**videosilence= {filename}** 
- 
-The VoiceXML browser can loop  and generate a video clip during interaction and audio prompting. Enter the specified sound file in Asterisk Raw h263 format (you will need to omit the filename extension). Sound files are stored in the /var/lib/asterisk/sounds directory, however the directory path can be changed in asterisk.conf. The default value is no filename. This function is disabled in this release. 
- 
-**recordsilence= {yes/no}** 
- 
-The VoiceXML browser can generate an audio silence (RTP packet generated), during the recording phase. This feature has been added to prevent gateway hang-ups if the server does not generate packets during a configured period. If the video mode is selected, it is preferable to unset this option to generate a video echoing during the recording phase (like a mirror). 
-The default value is no. 
- 
-**threshold= {1...32767}** 
- 
-This value is the minimum threshold, calculated by averaging all of the samples within a frame, for which a frame is determined to either be silence (below the threshold) or noise (above the threshold). This parameter is use to detect the record final silence. 
-The defaukt value is 256. 
- 
-**dialformat= {application parameters with %s}** 
- 
-This is a string to specify the interface and the peer that has been chosen for the transfer. The “%s” will be replaced by the string set in the <transfer> dest attribute. Remember to prefix the dest value with “tel:” to generate the transfer function. Other prefixes have been added to match some of the Asterisk functions, such as conference, call an application, etc. 
-The default value is SIP/%s. 
- 
-**dialformatvideo= {application parameters with %s}** 
- 
-This function is like dialformat, but for a video transaction. 
-The default value is SIP/%s. 
- 
-**blindapplication= {asterik application name or empty}** 
- 
-This is a string to specify the application used with the blind transfer mode. If the application is empty, the VoiceXML application will generate a Dial command with the transfer parameters after the VoiceXML session. 
-The default value is 'transfer'. 
- 
-**video = {yes/no}** 
- 
-Enable or disable the video feature (controlled by the license key). 
-The default value is no. 
- 
-**removeprompts= {yes/no}** 
- 
-The VoiceXML interpreter dynamically generates the files to be prompted in the /tmp directory. After prompting, you can choose to delete or keep the files as they can be overwritten by the new <prompt> sections. 
-The default value is yes. 
- 
-**cachemaxage={-1 or 0-...}** 
-Indicates that the cache is willing to remove contents whose age are greater than the specified time in seconds (set the value -1, to disable the cache purge).  
-The default value is -1, disabled. 
- 
-**cachetimeout={-1, 0-...}** 
-Cyclic cache check period in seconds (-1 or 0 to disable). 
-The default value is -1, disabled. 
- 
-**cachehour={-1 or 0-23}** 
-Specific hour to check the cache and purge the older files (-1 to disable). 
-The default value is -1, disabled. 
- 
-**autoreloadconfig= {yes/no}** 
- 
-Use this function to automatically update the configuration when the file is modified.  The update is based on the configuration file date or you can initiate an update to the file at any time on your own. Be careful not to save incomplete configuration files. 
-The default value is no.+ 
- 
-**speech= {yes/no/emulation/automatic}** 
- 
-You can enable or disable the ASR (speech recognition) using the VoiceXML application.  “Yes” means that the ASR resource will be allocated during the duration of the VoiceXML session. The “emulation” value is a permissive mode that always returns OK, even if the ASR is not present.  The “automatic” value will allocate the speech resource if a creation grammar is asked by the VoiceXML interpreter. The speech resource will be released after all grammars are released. 
-The default value is no. 
- 
-**speechprovider= {lumenvox/verbio}** 
- 
-You can set which speech recognition provider to allocate to the speech resource. 
-When the default is empty, use the first option. 
- 
-**speechscore= {0...100}** 
- 
-The speechscore function allows you to set the confidence score of the speech recognition engine (ASR).  The default number is 50.  When the VoiceXML Asterisk application gets an ASR result, the score is returned with the word or phrase recognized.  If the score is low, this limiter value is used to return a no match error/event instead a wrong result. 
- 
-**speechforcedscore={0..100}** 
- 
-Force the score value returned to the VoiceXML interprete. 
-The default value is 0 (to disable the forcing). 
- 
-**speechdirectory= {directory file}** 
- 
-It is preferable to not set this parameter and let the VoiceXML application to get the default values. 
-The directory file is where the built-in grammars are stored. 
-For the Verbio ASR, the default value is "" (use internal Verbio builtins) 
-For the LumenVox ASR, the default value is "/var/lib/openvxi/grammars/ABNF_%s_%s.gram" (ABNF grammars provided by I6NET). 
- 
-**speechunload= {yes/no}** 
- 
-Idisable the call to the “speechunload” application when the grammars are free. 
-Some providers don't support to send empty 'GRAMMAR-DEFINE'. 
-The default value is yes (unload the grammars).  
- 
-**cdrupdate= {yes/no}** 
- 
-If value is set to yes, at the end of the VoiceXML session, the VoiceXML application updates the CDR information. The CDR is information generated for each call in order to get data statistics. 
-After the update at the end of the VoiceXML session, the CDR will be locked. 
-The default value is yes. 
- 
-**setapp = {“app_vxml” name}** 
- 
-App references the last Asterisk application executed, therefore the setapp value is set with the name of the last application.   “App” is also a field of the CDR data. 
- 
-**setuserfield = {exit returned value}** 
- 
-This value is set from a VoiceXML result, specifically from the <exit>, “expr” attribute.  “Userfield” is also a field of the CDR data. 
- 
-**accountcode= {VoiceXML account}** 
- 
-This function can be set with the name of the VoiceXML account, if an account was found and the updatecdr option is enabled. 
- 
-**cdrdial= {yes/no}** 
- 
-If value is set to “yes”, the dial application used for the <transfer> will generate a new CDR.If set to “no”, no CDR will be generated and the current CDR will be kept. 
-The default value is “yes”. 
- 
-**cdrprompt= {yes/no/all}** 
- 
-If value is set to “yes” and the property cdrprompt is set to “true” in the VoiceXML context, the audio/video prompts will generate a new CDR (duration is the duration of the prompt, DTMF indicate the prompt have been skipped by a DTMF, and HANGUP if the prompt is skipped by a hangup).If set to “no”, no CDR will be generated (default value). 
-If the value is set to “all”, all the audio/video clips will generate CDRs. 
-The default value is “no”.The alias promptcdr is supported too (in the vxml.conf and for the VoiceXML property name). 
- 
-**cdrconference= {yes/no/all}** 
- 
-If value is set to “yes” and the property cdrconference is set to “true” in the VoiceXML context, the conference transfers will generate a new CDR (duration is the duration of the conference user's sesion, DTMF indicate the conference have been skipped by a DTMF, and HANGUP if the conference is skipped by a hangup).If set to “no”, no CDR will be generated (default value). 
-If the value is set to “all”, all the conference sessions will generate CDRs. 
-The default value is “no”. 
-The alias conferencecdr is supported too (in the vxml.conf and for the VoiceXML property name). 
- 
-**cdroverwrite= {yes/no}** 
- 
-If value is set to “yes”, the CDR field source and destination are overwritten with the contents of the variables VXML_REMOTE and VXML_LOCAL. 
-The default value is “no”. 
- 
-**cdrspeech= {yes/no/all}** 
- 
-If value is set to “yes” and the property cdrspeech is set to “true” in the VoiceXML context, the ASR/speech will generate a new CDR (duration is the duration allways 0,  NOINPUT, NOMATCH, and MATCH are the Lastdata values, the UserField will set with the best result and its score).If set to “no”, no CDR will be generated (default value). 
-If the value is set to “all”, all the ASR/speech will generate CDRs. 
-The default value is “no”. 
-The alias speechcdr is supported too (in the vxml.conf and for the VoiceXML property name). 
- 
-**priorityevents= {yes/no}** 
-If value is set to “no”, the events (single DTMF) are not checked before the end of the full DTMF input, (if there is another complex grammar enabled, with a maxlength > 1). 
-The default value is “yes”. 
- 
-**recorddirectory= {directory file}** 
-The directory file is where the records are stored. If you want to store localy the recordings, you can use the attribute dest in the tag <record>. Files with relative filenames where stored here. If you use the option 'mark' (from the account ot the dialplan), the VXI module will create directories using the 'mark' and will store the files in this directories. 
- 
-===== Control Section [control] ====== 
- 
-The control section describes the control functions that allow you to configure DTMF commands that stream a file with fast forward, pause, reverse, restart, etc.  To enable a control during a prompt, you must first set the VoiceXML property name to equal “control, with a value of “yes.” 
- 
-<code> 
-<property name=”control” value=”yes” /> 
-</code> 
- 
-This works only with GSM and WAV files - in all other cases the property is ignored. 
- 
-**forward= {DTMF(s)/empty}** 
- 
-Fast-forward when this DTMF digit is received. 
-The default value is #. 
- 
-**reverse= {DTMF(s)/empty}** 
- 
-Rewind when this DTMF digit is received. 
-The default value is *. 
- 
-**stop= {DTMF(s)/empty}** 
- 
-Stop when this DTMF digit is received. 
-The default value is 0123456789. 
- 
-**pause= {DTMF(s)/empty}** 
- 
-Pause playback when this DTMF digit is received. 
-The default value is empty. 
- 
-**restart= {DTMF(s)/empty}** 
- 
-Restart playback when this DTMF digit is received. 
-The default value is empty. 
- 
-**skipms= {delay in milliseconds}** 
- 
-This is the number of milliseconds to skip when rewinding or fast-forwarding. 
-The default value is 5000. 
- 
-=====  License Section [license] ===== 
- 
-The following section covers license information and keys of Vxi. 
-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: 
- 
-<code> 
-*CLI> vxml show license 
-</code> 
- 
-Default License section (no key) allow to run any VoiceXML application with one free port. 
- 
-Example: 
-<code> 
-[license] 
-max=1 
-key= 
-</code> 
- 
-Example: 
-<code> 
-[license] 
-max=30 
-key=yourkey 
-</code> 
- 
-=====  Account Section [account_] ===== 
- 
-The Vxi VoiceXML browser is designed to manage hosted VoiceXML services and share different 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:  
- 
-<code> 
-[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 
-</code> 
- 
-The account properties are defined within sections.  Each account has a specific section. The sections are named and numbered from account1 to account99 (maximun 100 accounts).  The example below shows the functions in each account section. 
- 
-<code> 
-[account1] 
-name=example 
-number=*3 
-url=http://…/index.vxml 
-urlvideo=http://…/index.vxml 
-max=5 
-speech=no 
-dialformat=SIP/%s 
-dialformatvideo=SIP/%s 
-</code> 
- 
-** name= {string}** 
- 
-This function indicates the name or designation of the account.  This reference can be used to identify the account used by the VXML application, Vxml(name of the account). This allows you to execute a VoiceXML session corresponding to the account values. 
- 
-**number= {called number}** 
- 
-This function allows the identification of an account with the called number, signaling information from the ANI function, CALLERID().  You can use the “*”, the wildcard character, to specify a substring such as *03 or 014612* , that the number function will contain. You can start the number with “_” to use Asterisk Diaplan Patterns too (see : http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns).The function can also be used to identify the account, like the name, Vxml(number of the account).  You can start the number with “@” to match the caller number to the account number (use the same syntax as the called number 
-There is a way to ) 
- 
-**url= {voicexml URL}** 
- 
-This function indicates the VoiceXML URL of the account. 
- 
-**urlvideo= {voicexml URL}** 
- 
-This function defines the Video VoiceXML URL of the account. The call is identified as a video call by the set codecs or the function CHANNEL(transfercapability)=VIDEO. 
- 
-**max= {0…120}** 
- 
-This indicates the maximum number of sessions allowed to this account. If there are not enough sessions then the VoiceXML application will generate an error. 
- 
-**dialformat= {application(]/%s[)}** 
- 
-This is similar to the general function, but for the account only. If not set, use the general value. 
- 
-**dialformatvideo= {application(]/%s[)}** 
- 
-This function has the same purpose as the dialformat, only for video sessions. 
- 
-**force= {video/audio}** 
- 
-If set to video, set the Transfercapability to VIDEO (and enable the h324m processing). 
-If set to audio, the Vxml application execute directly the account URL and bypass the redirection execution (parameter with '@'). 
- 
-**speech= {yes/no/emulation/automatic}** 
- 
-This speech function is as the general function, but for the account only. If not set, use the general value. 
- 
-**speechprovider= {lumenvox/verbio}** 
- 
-This speech function is as the general function, but for the account only. If not set, use the general value. 
- 
-**speechscore= {0..100}** 
- 
-This speech function is as the general function, but for the account only. If not set, use the general value. 
- 
-**speechforcedscore= {0..100}** 
- 
-This speech function is as the general function, but for the account only. If not set, use the general value. 
- 
-**mark= {string/@local/@remote/@id/@param}** 
  
-Set a string mark in the VoiceXML browser traces. The session ID and this string will be added to the channel number column (3rd) in the traces (Example : ...|33|... → ...|33_1_user1|... ).  
-Four redirection exist : 
  
- @remote : caller number 
- @local : called number 
- @id : VoieXML id parameter value 
- @param : VoiceXML parameter value 
  
-**durationlimit= {0…}** 
  
-This indicates the maximum duration in seconds for the session using this account. The call will be hangup after this maximal duration. 
  
 =====  Configuration example ===== =====  Configuration example =====
  • vxi_installation_guide/configuration/start.1433528491.txt.gz
  • Last modified: 2017/07/28 22:29
  • (external edit)