Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
vxi_installation_guide:management:start [2015/01/23 13:08] – [Getting Started] borja | vxi_installation_guide:management:start [2016/02/05 08:54] – borja | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== Management ====== |
===== Getting Started ===== | ===== Getting Started ===== | ||
- | Once you have completed installing the VoiceXML browser, you must configure the VoiceXML browser before attempting to place calls. The management and configuration procedures completely depend on the integration, | + | Once you have completed installing the VoiceXML browser, you must configure the VoiceXML browser before attempting to place calls. The management and configuration procedures completely depend on the integration, |
NOTE: | NOTE: | ||
Line 42: | Line 42: | ||
The length of time the VoiceXML browser caches an item fetched from a web server is controlled by the caching values returned in the HTTP/1.1 header. The VoiceXML browser currently only supports the “Expires” header, which defines the date and time when the VoiceXML browser must discard the cached copy and re-fetch from the web server. Some web servers allow defining caching property defaults based on the MIME content type, useful for allowing caching of audio files but not dynamically generated VoiceXML documents, for example. | The length of time the VoiceXML browser caches an item fetched from a web server is controlled by the caching values returned in the HTTP/1.1 header. The VoiceXML browser currently only supports the “Expires” header, which defines the date and time when the VoiceXML browser must discard the cached copy and re-fetch from the web server. Some web servers allow defining caching property defaults based on the MIME content type, useful for allowing caching of audio files but not dynamically generated VoiceXML documents, for example. | ||
- | ===== Start/ | + | ===== Start/ |
- | The VoiceXML browser software is installed in /usr/sbin and /usr/lib/openvxi. The VoiceXML browser setup script on Linux is / | + | The VoiceXML browser software is installed in /usr/sbin and /usr/lib/vxml. The VoiceXML browser setup script on Linux is / |
- | To load or unload the VoiceXML browser, use the “openvxi | + | To load or unload the VoiceXML browser, use the “vxml start” and “vxml stop” commands: |
< | < | ||
- | #/ | + | #/ |
- | #/ | + | #/ |
</ | </ | ||
Starting processes at boot time are different among the different operating systems so it is best to consult your OS documentation on how to do this. In Debian-based systems you can add this to your /etc/init.d file, however this will not shutdown the VoiceXML browser very cleanly during a reboot or shutdown. | Starting processes at boot time are different among the different operating systems so it is best to consult your OS documentation on how to do this. In Debian-based systems you can add this to your /etc/init.d file, however this will not shutdown the VoiceXML browser very cleanly during a reboot or shutdown. | ||
< | < | ||
- | #/ | + | #/ |
</ | </ | ||
- | ===== Using Vxi ===== | + | ===== VoiceXML Asterisk module |
- | The Vxi VoiceXML browser installs the app_vxml Asterisk application that uses the browser to execute VoiceXML pages. | + | The Vxi* VoiceXML browser installs the app_vxml Asterisk application |
Check the VXML application module | Check the VXML application module | ||
- | For more information on applications, | + | For more information on applications, |
To show details of how you use that particular application in this file (the Asterisk Dial plan). | To show details of how you use that particular application in this file (the Asterisk Dial plan). | ||
Type: | Type: | ||
< | < | ||
- | *CLI> show application < | + | *CLI> |
</ | </ | ||
For example, the vxml application: | For example, the vxml application: | ||
< | < | ||
- | *CLI> show application vxml | + | *CLI> |
</ | </ | ||
- | ===== Usage Syntax | + | ===== VoiceXML Asterisk Application |
- | Description: | + | Application that launch a VoiceXML session in the asterisk channel and when complete, return control. |
- | Launch a VoiceXML session in the channel and when complete, return control. | + | ==== Syntax ==== |
+ | |||
+ | |||
+ | < | ||
+ | Vxml([URL|Name|Number]) | ||
+ | </ | ||
The URL can by set with different ways : | The URL can by set with different ways : | ||
< | < | ||
- | Pass the URL as the appplication parameter. | + | No parameter, the application will use the VoiceXML accounts (match called number with accounts numbers) : Vxml() |
- | Pass the account name or the account number. | + | Pass the URL as the appplication parameter. |
- | Pass the “@” to match the caller number | + | Pass the account name or the account number. |
+ | Pass the “@” to allocate a VoiceXML channel and pass the execution | ||
</ | </ | ||
Set the VXML_URL variable before executing the vxml application. | Set the VXML_URL variable before executing the vxml application. | ||
Line 91: | Line 97: | ||
The following describes how to execute a VoiceXML session. | The following describes how to execute a VoiceXML session. | ||
- | Syntax: | ||
- | < | ||
- | Vxml([URL|Name|Number]) | ||
- | </ | ||
- | Variables: | + | ==== Variables |
+ | |||
+ | Variables to set before or filled after the Vxml() execution | ||
** VXML_URL ** | ** VXML_URL ** | ||
If the variable VXML_URL has been set when vxml runs, the value of that variable will be used for the URL unless the parameter is not set to the application. | If the variable VXML_URL has been set when vxml runs, the value of that variable will be used for the URL unless the parameter is not set to the application. | ||
+ | |||
+ | ** VXML_LOCAL ** | ||
+ | |||
+ | Force the called number (variable in VoiceXML context session.connection.local.uri). | ||
+ | |||
+ | ** VXML_REMOTE ** | ||
+ | |||
+ | Force the caller number (variable in VoiceXML context, session.connection.remote.uri). | ||
+ | |||
+ | ** VXML_MARK ** | ||
+ | |||
+ | Allow to add his value/mark in the VoiceXML browser logs associated to this call/ | ||
** VXML_ID ** | ** VXML_ID ** | ||
Line 114: | Line 130: | ||
After execution, the VoiceXML result of < | After execution, the VoiceXML result of < | ||
- | Example: | + | ** VXML_ERROR ** |
+ | |||
+ | After execution, the VoiceXML application notify the error cause, if the VoiceXML session cannot be launched. | ||
+ | |||
+ | * VXML_ERROR=(empty) ; No error occurs. | ||
+ | * VXML_ERROR=INITALISATION ; Session refused, Asterisk module not connected to the VoiceXML browser. | ||
+ | * VXML_ERROR=LICENSE ; Session refused, license locking | ||
+ | * VXML_ERROR=ACCOUNT_LIMIT ; Session refused, max session for the account reached. | ||
+ | * VXML_ERROR=SPEECH ; Session refused, cannot allocate the Speech (ASR) ressource. | ||
+ | * VXML_ERROR=TTY/ | ||
+ | * VXML_ERROR=BILLING ; Session refused, billing interface refuse the session. | ||
+ | * VXML_ERROR=INTERPRETER ; Session refused, critical error with the VoiceXML browser connection. | ||
+ | |||
+ | ===== Examples ===== | ||
+ | |||
+ | Example | ||
< | < | ||
[incoming] | [incoming] | ||
exten => s, | exten => s, | ||
exten => s, | exten => s, | ||
- | exten => s, | + | exten => s, |
exten => s,n,Hangup | exten => s,n,Hangup | ||
</ | </ | ||
+ | Example to catch the Vxml() errors : | ||
+ | < | ||
+ | exten => _X., | ||
+ | exten => _X., | ||
+ | exten => _X., | ||
+ | exten => _X., | ||
+ | exten => _X., | ||
+ | </ | ||
===== Asterisk Online Help ====== | ===== Asterisk Online Help ====== | ||
Line 128: | Line 167: | ||
*CLI> help vxml | *CLI> help vxml | ||
- | ===== Management Commands ====== | + | ===== CLI Management Commands ====== |
Now your VXI* VoiceXML browser and Asterisk PBX are running, you can manage the VXML service using the Asterisk prompt *CLI>: | Now your VXI* VoiceXML browser and Asterisk PBX are running, you can manage the VXML service using the Asterisk prompt *CLI>: | ||
Line 218: | Line 257: | ||
The following entries are the Asterisk CLI commands for the VoiceXML browser. | The following entries are the Asterisk CLI commands for the VoiceXML browser. | ||
- | Example: | + | ===== VoiceXML example ====== |
Add extensions to the Asterisk dial plan / | Add extensions to the Asterisk dial plan / | ||
< | < | ||
Line 228: | Line 268: | ||
You can create and edit the file / | You can create and edit the file / | ||
+ | |||
+ | < | ||
+ | # vi / | ||
+ | </ | ||
NOTE: | NOTE: | ||
Line 233: | Line 277: | ||
This example will work if you have text-to-speech configured. | This example will work if you have text-to-speech configured. | ||
< | < | ||
- | < | + | <?xml version=" |
+ | <vxml version = " | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | </vxml> | ||
</ | </ | ||
- | |||
Save the file in the same directory as the VoiceXML script (relative reference in this example). | Save the file in the same directory as the VoiceXML script (relative reference in this example). | ||
+ | |||
Reload the extensions configuration with: | Reload the extensions configuration with: | ||
- | *CLI> extensions reload | + | |
+ | < | ||
+ | CLI> extensions reload | ||
+ | </ | ||
Call the service by calling: | Call the service by calling: | ||
Line 257: | Line 309: | ||
/ | / | ||
</ | </ | ||
- | |||
- | **Core files** | ||
- | |||
- | Collected files should be sent by email to Technical Support (support@i6net.com). | ||
**Log Files** | **Log Files** | ||
Line 294: | Line 342: | ||
To enable a level, set the 1 value and 0 to disable. | To enable a level, set the 1 value and 0 to disable. | ||
- | To validate the modifications, | + | To validate the modifications, |
< | < | ||
# / | # / | ||
- | # / | + | # / |
- | # / | + | # / |
# / | # / | ||
</ | </ | ||
Line 312: | Line 360: | ||
- An Apache/PHP script exists generate the traces from a standard Internet browser (Internet Explorer, Mozilla/ | - An Apache/PHP script exists generate the traces from a standard Internet browser (Internet Explorer, Mozilla/ | ||
- At the end of the trace record, don’t forget to stop it to recover optimal real time function. With the V4.x release, you can dynamically enable/ | - At the end of the trace record, don’t forget to stop it to recover optimal real time function. With the V4.x release, you can dynamically enable/ | ||
- | |||
- | Simple traces for the VoiceXML development: | ||
- | < | ||
- | *CLI> vxml debug interpreter dev | ||
- | </ | ||
Full traces: | Full traces: | ||
< | < | ||
- | *CLI> vxml debug interpreter | + | *CLI> vxml debug interpreter |
</ | </ | ||
Line 326: | Line 369: | ||
< | < | ||
*CLI> vxml no debug interpreter | *CLI> vxml no debug interpreter | ||
- | </ | ||
- | |||
- | Restore the log traces: | ||
- | < | ||
- | *CLI> vxml debug interpreter log | ||
</ | </ | ||