diff options
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r-- | apps/app_dial.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index 512931712..6178b346c 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -806,35 +806,6 @@ static int valid_priv_reply(struct ast_flags *opts, int res) return 0; } -static void set_dial_features(struct ast_flags *opts, struct ast_dial_features *features) -{ - struct ast_flags perm_opts = {.flags = 0}; - - ast_copy_flags(&perm_opts, opts, - OPT_CALLER_TRANSFER | OPT_CALLER_PARK | OPT_CALLER_MONITOR | OPT_CALLER_HANGUP | - OPT_CALLEE_TRANSFER | OPT_CALLEE_PARK | OPT_CALLEE_MONITOR | OPT_CALLEE_HANGUP); - - memset(features->options, 0, sizeof(features->options)); - - ast_app_options2str(dial_exec_options, &perm_opts, features->options, sizeof(features->options)); - if (ast_test_flag(&perm_opts, OPT_CALLEE_TRANSFER)) - ast_set_flag(&(features->features_callee), AST_FEATURE_REDIRECT); - if (ast_test_flag(&perm_opts, OPT_CALLER_TRANSFER)) - ast_set_flag(&(features->features_caller), AST_FEATURE_REDIRECT); - if (ast_test_flag(&perm_opts, OPT_CALLEE_HANGUP)) - ast_set_flag(&(features->features_callee), AST_FEATURE_DISCONNECT); - if (ast_test_flag(&perm_opts, OPT_CALLER_HANGUP)) - ast_set_flag(&(features->features_caller), AST_FEATURE_DISCONNECT); - if (ast_test_flag(&perm_opts, OPT_CALLEE_MONITOR)) - ast_set_flag(&(features->features_callee), AST_FEATURE_AUTOMON); - if (ast_test_flag(&perm_opts, OPT_CALLER_MONITOR)) - ast_set_flag(&(features->features_caller), AST_FEATURE_AUTOMON); - if (ast_test_flag(&perm_opts, OPT_CALLEE_PARK)) - ast_set_flag(&(features->features_callee), AST_FEATURE_PARKCALL); - if (ast_test_flag(&perm_opts, OPT_CALLER_PARK)) - ast_set_flag(&(features->features_caller), AST_FEATURE_PARKCALL); -} - static void end_bridge_callback (void *data) { char buf[80]; @@ -906,9 +877,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags struct ast_flags opts = { 0, }; char *opt_args[OPT_ARG_ARRAY_SIZE]; struct ast_datastore *datastore = NULL; - struct ast_datastore *ds_caller_features = NULL; - struct ast_datastore *ds_callee_features = NULL; - struct ast_dial_features *caller_features; int fulldial = 0, num_dialed = 0; if (ast_strlen_zero(data)) { @@ -1172,25 +1140,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags ast_copy_flags(peerflags, &opts, OPT_DTMF_EXIT | OPT_GO_ON | OPT_ORIGINAL_CLID | OPT_CALLER_HANGUP | OPT_IGNORE_FORWARDING); - /* Create datastore for channel dial features for caller */ - if (!(ds_caller_features = ast_channel_datastore_alloc(&dial_features_info, NULL))) { - ast_log(LOG_WARNING, "Unable to create channel datastore for dial features. Aborting!\n"); - goto out; - } - - if (!(caller_features = ast_calloc(1, sizeof(*caller_features)))) { - ast_log(LOG_WARNING, "Unable to allocate memory for feature flags. Aborting!\n"); - goto out; - } - - ast_channel_lock(chan); - caller_features->is_caller = 1; - set_dial_features(&opts, caller_features); - ds_caller_features->inheritance = -1; - ds_caller_features->data = caller_features; - ast_channel_datastore_add(chan, ds_caller_features); - ast_channel_unlock(chan); - /* loop through the list of dial destinations */ rest = args.peers; while ((cur = strsep(&rest, "&")) ) { @@ -1201,7 +1150,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags char *tech = strsep(&number, "/"); /* find if we already dialed this interface */ struct ast_dialed_interface *di; - struct ast_dial_features *callee_features; AST_LIST_HEAD(, ast_dialed_interface) *dialed_interfaces; num_dialed++; if (!number) { @@ -1351,27 +1299,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags else ast_copy_string(tmp->chan->exten, chan->exten, sizeof(tmp->chan->exten)); - /* Save callee features */ - if (!(ds_callee_features = ast_channel_datastore_alloc(&dial_features_info, NULL))) { - ast_log(LOG_WARNING, "Unable to create channel datastore for dial features. Aborting!\n"); - ast_free(tmp); - goto out; - } - - if (!(callee_features = ast_calloc(1, sizeof(*callee_features)))) { - ast_log(LOG_WARNING, "Unable to allocate memory for feature flags. Aborting!\n"); - ast_free(tmp); - goto out; - } - - ast_channel_lock(tmp->chan); - callee_features->is_caller = 0; - set_dial_features(&opts, callee_features); - ds_callee_features->inheritance = -1; - ds_callee_features->data = callee_features; - ast_channel_datastore_add(tmp->chan, ds_callee_features); - ast_channel_unlock(tmp->chan); - /* Place the call, but don't wait on the answer */ res = ast_call(tmp->chan, numsubst, 0); |