From 47108691339fe7b4e3ca7d264aefb6545694d142 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 24 Jun 2013 18:33:13 +0000 Subject: Add documentation for features configuration. Review: https://reviewboard.asterisk.org/r/2616 (closes issue ASTERISK-21542) Reported by Matt Jordan git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@392729 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features_config.c | 273 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 257 insertions(+), 16 deletions(-) (limited to 'main/features_config.c') diff --git a/main/features_config.c b/main/features_config.c index a40d0f70e..9fe72a225 100644 --- a/main/features_config.c +++ b/main/features_config.c @@ -26,8 +26,248 @@ #include "asterisk/app.h" #include "asterisk/cli.h" -/* BUGBUG XML Documentation is still needed for configuration options */ /*** DOCUMENTATION + + Features Configuration + + + + + + Milliseconds allowed between digit presses when entering a feature code. + + + Sound to play when automon or automixmon is activated + + + Milliseconds allowed between digit presses when dialing a transfer destination + + + Milliseconds to wait for attended transfer destination to answer + + + Hang up the call entirely if the attended transfer fails + + When this option is set to no, then Asterisk will attempt to + re-call the transferrer if the call to the transfer target fails. If the call to the + transferrer fails, then Asterisk will wait atxferloopdelay + milliseconds and then attempt to dial the transfer target again. This process will + repeat until atxfercallbackretries attempts to re-call + the transferrer have occurred. + When this option is set to yes, then Asterisk will not attempt + to re-call the transferrer if the call to the transfer target fails. Asterisk will instead + hang up all channels involved in the transfer. + + + + Milliseconds to wait between attempts to re-dial transfer destination + atxferdropcall + + + Number of times to re-attempt dialing a transfer destination + atxferdropcall + + + Sound to play to during transfer and transfer-like operations. + + This sound will play to the transferrer and transfer target channels when + an attended transfer completes. This sound is also played to channels when performing + an AMI Bridge action. + + + + Sound to play to a transferee when a transfer fails + + + Digits to dial to abort an attended transfer attempt + + This option is only available to the transferrer during an attended + transfer operation. Aborting a transfer results in the transfer being cancelled and + the original parties in the call being re-bridged. + + + + Digits to dial to complete an attended transfer + + This option is only available to the transferrer during an attended + transfer operation. Completing the transfer with a DTMF sequence is functionally + equivalent to hanging up the transferrer channel during an attended transfer. The + result is that the transfer target and transferees are bridged. + + + + Digits to dial to change an attended transfer into a three-way call + + This option is only available to the transferrer during an attended + transfer operation. Pressing this DTMF sequence will result in the transferrer, + the transferees, and the transfer target all being in a single bridge together. + + + + Digits used for picking up ringing calls + + In order for the pickup attempt to be successful, the party attempting to + pick up the call must either have a namedpickupgroup in + common with a ringing party's namedcallgroup or must + have a pickupgroup in common with a ringing party's + callgroup. + + + + Sound to play to picker when a call is picked up + + + Sound to play to picker when a call cannot be picked up + + + + DTMF options that can be triggered during bridged calls + + DTMF sequence to initiate an attended transfer + + The transferee parties will be placed on hold and the + transferrer may dial an extension to reach a transfer target. During an + attended transfer, the transferrer may consult with the transfer target + before completing the transfer. Once the transferrer has hung up or pressed + the atxfercomplete DTMF sequence, then the transferees + and transfer target will be bridged. + + + + DTMF sequence to initiate a blind transfer + + The transferee parties will be placed on hold and the + transferrer may dial an extension to reach a transfer target. During a + blind transfer, as soon as the transfer target is dialed, the transferrer + is hung up. + + + + DTMF sequence to disconnect the current call + + Entering this DTMF sequence will cause the bridge to end, no + matter the number of parties present + + + + DTMF sequence to park a call + + The parking lot used to park the call is determined by using either the + PARKINGLOT channel variable or a configured value on + the channel (provided by the channel driver) if the variable is not present. If + no configured value on the channel is present, then "default" + is used. The call is parked in the next available space in the parking lot. + + + + DTMF sequence to start or stop monitoring a call + + This will cause the channel that pressed the DTMF sequence + to be monitored by the Monitor application. The + format for the recording is determined by the TOUCH_MONITOR_FORMAT + channel variable. If this variable is not specified, then wav is the + default. The filename is constructed in the following manner: + + prefix-timestamp-filename + + where prefix is either the value of the TOUCH_MONITOR_PREFIX + channel variable or auto if the variable is not set. The timestamp + is a UNIX timestamp. The filename is either the value of the TOUCH_MONITOR + channel variable or the callerID of the channels if the variable is not set. + + + + DTMF sequence to start or stop mixmonitoring a call + + Operation of the automixmon is similar to the automon + feature, with the following exceptions: + TOUCH_MIXMONITOR is used in place of TOUCH_MONITOR + TOUCH_MIXMONITOR_FORMAT is used in place of TOUCH_MIXMONITOR + There is no equivalent for TOUCH_MONITOR_PREFIX. "auto" is always how the filename begins. + + automon + + + + Section for defining custom feature invocations during a call + + The applicationmap is an area where new custom features can be created. Items + defined in the applicationmap are not automatically accessible to bridged parties. Access + to the individual items is controled using the DYNAMIC_FEATURES channel variable. + The DYNAMIC_FEATURES is a # separated list of + either applicationmap item names or featuregroup names. + + + A custom feature to invoke during a bridged call + + Each item listed here is a comma-separated list of parameters that determine + how a feature may be invoked during a call + Example: + eggs = *5,self,Playback(hello-world),default + This would create a feature called eggs that could be invoked + during a call by pressing the *5. The party that presses the DTMF + sequence would then trigger the Playback application to play the + hello-world file. The application invocation would happen on the + party that pressed the DTMF sequence since self is specified. The + other parties in the bridge would hear the default music on hold + class during the playback. + In addition to the syntax outlined in this documentation, a backwards-compatible alternative + is also allowed. The following applicationmap lines are functionally identical: + eggs = *5,self,Playback(hello-world),default + eggs = *5,self,Playback,hello-world,default + eggs = *5,self,Playback,"hello-world",default + + + + The DTMF sequence used to trigger the option + + + The party that the feature will be invoked on + + + + + + + The dialplan application to run when the DTMF sequence is pressed + + The arguments to the dialplan application to run + + + + Music on hold class to play to bridge participants that are not the target of the application invocation + + + + + + Groupings of items from the applicationmap + + Feature groups allow for multiple applicationmap items to be + grouped together. Like with individual applicationmap items, feature groups + can be part of the DYNAMIC_FEATURES channel variable. + In addition to creating groupings, the feature group section allows for the + DTMF sequence used to invoke an applicationmap item to be overridden with + a different sequence. + + + Applicationmap item to place in the feature group + + Each item here must be a name of an item in the applicationmap. The + argument may either be a new DTMF sequence to use for the item or it + may be left blank in order to use the DTMF sequence specified in the + applicationmap. For example: + eggs => *1 + bacon => + would result in the applicationmap items eggs and + bacon being in the featuregroup. The former would have its + default DTMF trigger overridden with *1 and the latter would + have the DTMF value specified in the applicationmap. + + + + + Get or set a feature option on a channel. @@ -37,21 +277,21 @@ The allowed values are: Inherit feature settings made in FEATURE or FEATUREMAP to child channels. - Milliseconds allowed between digits when entering a feature code. - Milliseconds allowed between digits when dialing a transfer destination - Milliseconds to wait for transfer destination to answer - Hang up the call entirely if the attended transfer fails - Milliseconds to wait between attempts to re-dial transfer destination - Number of times to re-attempt dialing a transfer destination - Sound to play to a transferee when a transfer completes - Sound to play to a transferee when a transfer fails - Digits to dial to abort an attended transfer attempt - Digits to dial to complete an attended transfer - Digits to dial to change an attended transfer into a three-way call - Digits used for picking up ringing calls - Sound to play to picker when a call is picked up - Sound to play to picker when a call cannot be picked up - Sound to play when automon or automixmon is activated + + + + + + + + + + + + + + + @@ -97,6 +337,7 @@ ***/ /*! Default general options */ #define DEFAULT_FEATURE_DIGIT_TIMEOUT 1000 +#define DEFAULT_COURTESY_TONE "" /*! Default xfer options */ #define DEFAULT_TRANSFER_DIGIT_TIMEOUT 3000 -- cgit v1.2.3