Merged revisions 172580 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r172580 | twilson | 2009-01-30 15:29:12 -0600 (Fri, 30 Jan 2009) | 44 lines
  
  Merged revisions 172517 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r172517 | twilson | 2009-01-30 11:47:41 -0600 (Fri, 30 Jan 2009) | 37 lines
    
    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.6.1@172636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Terry Wilson
2009-01-31 00:05:17 +00:00
parent 9cfdc405ed
commit ef566503d3
6 changed files with 279 additions and 116 deletions

View File

@@ -26,22 +26,11 @@
#include "asterisk/channel.h"
#define MAX_DIAL_FEATURE_OPTIONS 30
extern const struct ast_datastore_info dialed_interface_info;
extern const struct ast_datastore_info dial_features_info;
struct ast_dialed_interface {
AST_LIST_ENTRY(ast_dialed_interface) list;
char interface[1];
};
struct ast_dial_features {
struct ast_flags features_caller;
struct ast_flags features_callee;
char options[MAX_DIAL_FEATURE_OPTIONS];
int is_caller;
};
#endif