diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-04 04:01:40 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-04 04:01:40 +0000 |
commit | e6f35a87bcdec06f2380b0804fd4c472977aed9c (patch) | |
tree | 29d4df585c7a16fb387fa5eb4daf553cdf195852 /apps/app_queue.c | |
parent | d481e222f25146b8cbd76c99bdf13c4b9a041d35 (diff) |
Make features configurable and easier to implement
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4650 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_queue.c')
-rwxr-xr-x | apps/app_queue.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 476eceb60..38a550fc8 100755 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1480,10 +1480,14 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri time(&callstart); memset(&config,0,sizeof(struct ast_bridge_config)); - config.allowredirect_in = ast_test_flag(&flags, QUEUE_FLAG_REDIR_IN); - config.allowredirect_out = ast_test_flag(&flags, QUEUE_FLAG_REDIR_OUT); - config.allowdisconnect_in = ast_test_flag(&flags, QUEUE_FLAG_DISCON_IN); - config.allowdisconnect_out = ast_test_flag(&flags, QUEUE_FLAG_DISCON_OUT); + if (ast_test_flag(&flags, QUEUE_FLAG_REDIR_IN)) + config.features_callee |= AST_FEATURE_REDIRECT; + if (ast_test_flag(&flags, QUEUE_FLAG_REDIR_OUT)) + config.features_caller |= AST_FEATURE_REDIRECT; + if (ast_test_flag(&flags, QUEUE_FLAG_DISCON_IN)) + config.features_callee |= AST_FEATURE_DISCONNECT; + if (ast_test_flag(&flags, QUEUE_FLAG_DISCON_OUT)) + config.features_caller |= AST_FEATURE_DISCONNECT; bridge = ast_bridge_call(qe->chan,peer,&config); if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten)) { |