|
|
|
@ -816,8 +816,11 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
|
|
|
|
return FEATURE_RETURN_SUCCESS;
|
|
|
|
return FEATURE_RETURN_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (check_compat(transferer, newchan))
|
|
|
|
if (check_compat(transferer, newchan)) {
|
|
|
|
|
|
|
|
/* we do mean transferee here, NOT transferer */
|
|
|
|
|
|
|
|
finishup(transferee);
|
|
|
|
return -1;
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
};
|
|
|
|
memset(&bconfig,0,sizeof(struct ast_bridge_config));
|
|
|
|
memset(&bconfig,0,sizeof(struct ast_bridge_config));
|
|
|
|
ast_set_flag(&(bconfig.features_caller), AST_FEATURE_DISCONNECT);
|
|
|
|
ast_set_flag(&(bconfig.features_caller), AST_FEATURE_DISCONNECT);
|
|
|
|
ast_set_flag(&(bconfig.features_callee), AST_FEATURE_DISCONNECT);
|
|
|
|
ast_set_flag(&(bconfig.features_callee), AST_FEATURE_DISCONNECT);
|
|
|
|
@ -831,8 +834,10 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
|
|
|
|
return FEATURE_RETURN_SUCCESS;
|
|
|
|
return FEATURE_RETURN_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (check_compat(transferee, newchan))
|
|
|
|
if (check_compat(transferee, newchan)) {
|
|
|
|
|
|
|
|
finishup(transferee);
|
|
|
|
return -1;
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
ast_indicate(transferee, AST_CONTROL_UNHOLD);
|
|
|
|
ast_indicate(transferee, AST_CONTROL_UNHOLD);
|
|
|
|
|
|
|
|
|
|
|
|
|