]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Fix feature inheritance with builtin features
authorTerry Wilson <twilson@digium.com>
Fri, 30 Jan 2009 17:47:41 +0000 (17:47 +0000)
committerTerry Wilson <twilson@digium.com>
Fri, 30 Jan 2009 17:47:41 +0000 (17:47 +0000)
commit4e069885cef8ab41bf2ab61cf3c22f19afc41980
tree879c18b4f776cfa4cdcd9ad64ebd9d41f9ee4974
parentc257ffeed04cbf8fbcf68cadc73f15c03a2845aa
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
CHANGES
apps/app_dial.c
configs/features.conf.sample
doc/channelvariables.txt
include/asterisk/global_datastores.h
main/global_datastores.c
res/res_features.c