2002-05-12 03:01:27 +00:00
|
|
|
;
|
2006-03-21 20:45:29 +00:00
|
|
|
; Sample Call Features (parking, transfer, etc) configuration
|
2002-05-12 03:01:27 +00:00
|
|
|
;
|
|
|
|
|
|
|
|
|
|
[general]
|
2006-03-21 19:00:26 +00:00
|
|
|
parkext => 700 ; What extension to dial to park
|
2006-04-03 20:45:45 +00:00
|
|
|
parkpos => 701-720 ; What extensions to park calls on. These needs to be
|
|
|
|
|
; numeric, as Asterisk starts from the start position
|
|
|
|
|
; and increments with one for the next parked call.
|
2004-08-31 19:19:05 +00:00
|
|
|
context => parkedcalls ; Which context parked calls are in
|
|
|
|
|
;parkingtime => 45 ; Number of seconds a call can be parked for
|
|
|
|
|
; (default is 45 seconds)
|
|
|
|
|
;courtesytone = beep ; Sound file to play to the parked caller
|
|
|
|
|
; when someone dials a parked call
|
2005-12-09 00:27:11 +00:00
|
|
|
; or the Touch Monitor is activated/deactivated.
|
2006-01-08 00:25:31 +00:00
|
|
|
;parkedplay = caller ; Who to play the courtesy tone to when picking up a parked call
|
|
|
|
|
; one of: parked, caller, both (default is caller)
|
2008-10-23 16:04:42 +00:00
|
|
|
;parkedcalltransfers = caller ; Enables or disables DTMF based transfers when picking up a parked call.
|
|
|
|
|
; one of: callee, caller, both, no (default is both)
|
2009-01-31 00:15:09 +00:00
|
|
|
;parkedcallreparking = caller ; Enables or disables DTMF based one-touch parking when picking up a parked call.
|
Fix feature inheritance with builtin features
When using builtin features like parking and transfers, the AST_FEATURE_* flags
would not be set correctly for all instances when either performing a builtin
attended transfer, or parking a call and getting the timeout callback. Also,
there was no way on a per-call basis to specify what features someone should
have on picking up a parked call (since that doesn't involve the Dial() command).
There was a global option for setting whether or not all users who pickup a
parked call should have AST_FEATURE_REDIRECT set, but nothing for DISCONNECT,
AUTOMON, or PARKCALL.
This patch:
1) adds the BRIDGE_FEATURES dialplan variable which can be set either in the
dialplan or with setvar in channels that support it. This variable can be set
to any combination of 't', 'k', 'w', and 'h' (case insensitive matching of the
equivalent dial options), to set what features should be activated on this
channel. The patch moves the setting of the features datastores into the
bridging code instead of app_dial to help facilitate this.
2) adds global options parkedcallparking, parkedcallhangup, and
parkedcallrecording to be similar to the parkedcalltransfers option for
globally setting features.
3) has builtin_atxfer call builtin_parkcall if being transfered to the parking
extension since tracking everything through multiple masquerades, etc. is
difficult and error-prone
4) attempts to fix all cases of return calls from parking and completed builtin
transfers not having the correct permissions
(closes issue #14274)
Reported by: aragon
Patches:
fix_feature_inheritence.diff.txt uploaded by otherwiseguy (license 396)
Tested by: aragon, otherwiseguy
Review http://reviewboard.digium.com/r/138/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@172517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-30 17:47:41 +00:00
|
|
|
; one of: callee, caller, both, no (default is no)
|
|
|
|
|
;parkedcallhangup = caller ; Enables or disables DTMF based hangups when picking up a parked call.
|
|
|
|
|
; one of: callee, caller, both, no (default is no)
|
|
|
|
|
;parkedcallrecording = caller ; Enables or disables DTMF based one-touch recording when picking up a parked call.
|
|
|
|
|
; one of: callee, caller, both, no (default is no)
|
2004-09-15 19:49:33 +00:00
|
|
|
;adsipark = yes ; if you want ADSI parking announcements
|
2006-04-03 20:45:45 +00:00
|
|
|
;findslot => next ; Continue to the 'next' free parking space.
|
|
|
|
|
; Defaults to 'first' available
|
2006-07-19 20:44:39 +00:00
|
|
|
;parkedmusicclass=default ; This is the MOH class to use for the parked channel
|
|
|
|
|
; as long as the class is not set on the channel directly
|
|
|
|
|
; using Set(CHANNEL(musicclass)=whatever) in the dialplan
|
2006-04-03 20:45:45 +00:00
|
|
|
|
2006-09-11 16:41:49 +00:00
|
|
|
;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call
|
2006-03-21 20:45:29 +00:00
|
|
|
; (default is 3 seconds)
|
|
|
|
|
;xfersound = beep ; to indicate an attended transfer is complete
|
|
|
|
|
;xferfailsound = beeperr ; to indicate a failed transfer
|
2006-04-03 20:45:45 +00:00
|
|
|
;pickupexten = *8 ; Configure the pickup extension. (default is *8)
|
2005-01-04 04:01:40 +00:00
|
|
|
;featuredigittimeout = 500 ; Max time (ms) between digits for
|
2006-03-21 20:45:29 +00:00
|
|
|
; feature activation (default is 500 ms)
|
2006-05-23 18:23:05 +00:00
|
|
|
;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds.
|
2005-01-05 21:00:20 +00:00
|
|
|
|
2007-10-15 16:39:59 +00:00
|
|
|
; Note that the DTMF features listed below only work when two channels have answered and are bridged together.
|
|
|
|
|
; They can not be used while the remote party is ringing or in progress. If you require this feature you can use
|
|
|
|
|
; chan_local in combination with Answer to accomplish it.
|
|
|
|
|
|
2005-01-04 04:01:40 +00:00
|
|
|
[featuremap]
|
2008-10-29 05:19:04 +00:00
|
|
|
;blindxfer => #1 ; Blind transfer (default is #) -- Make sure to set the T and/or t option in the Dial() or Queue() app call!
|
|
|
|
|
;disconnect => *0 ; Disconnect (default is *) -- Make sure to set the H and/or h option in the Dial() or Queue() app call!
|
|
|
|
|
;automon => *1 ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call!
|
|
|
|
|
;atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call!
|
|
|
|
|
;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or K option in the Dial() app call!
|
2005-08-23 02:22:33 +00:00
|
|
|
|
|
|
|
|
[applicationmap]
|
2006-03-21 19:00:26 +00:00
|
|
|
; Note that the DYNAMIC_FEATURES channel variable must be set to use the features
|
|
|
|
|
; defined here. The value of DYNAMIC_FEATURES should be the names of the features
|
|
|
|
|
; to allow the channel to use separated by '#'. For example:
|
2006-08-07 04:15:52 +00:00
|
|
|
;
|
2008-02-06 15:19:41 +00:00
|
|
|
; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3)
|
2006-03-21 19:00:26 +00:00
|
|
|
;
|
2008-02-06 15:19:41 +00:00
|
|
|
; (Note: The two leading underscores allow these feature settings to be set on
|
|
|
|
|
; on the outbound channels, as well. Otherwise, only the original channel
|
|
|
|
|
; will have access to these features.)
|
2006-08-07 04:15:52 +00:00
|
|
|
;
|
2006-08-29 21:52:40 +00:00
|
|
|
; The syntax for declaring a dynamic feature is the following:
|
2006-08-07 04:15:52 +00:00
|
|
|
;
|
2006-08-29 21:20:43 +00:00
|
|
|
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]
|
2006-08-07 04:15:52 +00:00
|
|
|
;
|
|
|
|
|
; FeatureName -> This is the name of the feature used in when setting the
|
|
|
|
|
; DYNAMIC_FEATURES variable to enable usage of this feature.
|
|
|
|
|
; DTMF_sequence -> This is the key sequence used to activate this feature.
|
|
|
|
|
; ActivateOn -> This is the channel of the call that the application will be executed
|
|
|
|
|
; on. Valid values are "self" and "peer". "self" means run the
|
|
|
|
|
; application on the same channel that activated the feature. "peer"
|
|
|
|
|
; means run the application on the opposite channel from the one that
|
|
|
|
|
; has activated the feature.
|
2007-01-02 12:08:50 +00:00
|
|
|
; ActivatedBy -> This is which channel is allowed to activate this feature. Valid
|
2006-08-07 04:15:52 +00:00
|
|
|
; values are "caller", "callee", and "both". "both" is the default.
|
|
|
|
|
; The "caller" is the channel that executed the Dial application, while
|
|
|
|
|
; the "callee" is the channel called by the Dial application.
|
|
|
|
|
; Application -> This is the application to execute.
|
|
|
|
|
; AppArguments -> These are the arguments to be passed into the application.
|
2006-08-29 21:20:43 +00:00
|
|
|
; MOH_Class -> This is the music on hold class to play while the idle
|
|
|
|
|
; channel waits for the feature to complete. If left blank,
|
|
|
|
|
; no music will be played.
|
2006-08-07 04:15:52 +00:00
|
|
|
;
|
|
|
|
|
;
|
|
|
|
|
; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk
|
|
|
|
|
; applications. When applications are used in extensions.conf, they are executed
|
|
|
|
|
; by the PBX core. In this case, these applications are executed outside of the
|
|
|
|
|
; PBX core, so it does *not* make sense to use any application which has any
|
|
|
|
|
; concept of dialplan flow. Examples of this would be things like Macro, Goto,
|
|
|
|
|
; Background, WaitExten, and many more.
|
|
|
|
|
;
|
2007-01-02 12:08:50 +00:00
|
|
|
; Enabling these features means that the PBX needs to stay in the media flow and
|
|
|
|
|
; media will not be re-directed if DTMF is sent in the media stream.
|
2006-08-07 04:15:52 +00:00
|
|
|
;
|
|
|
|
|
; Example Usage:
|
|
|
|
|
;
|
|
|
|
|
;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play
|
|
|
|
|
; ;tt-monkeys to the opposite channel
|
|
|
|
|
;
|
|
|
|
|
;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring
|
|
|
|
|
; ;on their channel
|
|
|
|
|
;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring
|
|
|
|
|
; ;on their channel
|
2007-01-02 12:08:50 +00:00
|
|
|
;
|