mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 04:11:08 +00:00
Merged revisions 304007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r304007 | rmudgett | 2011-01-25 17:28:25 -0600 (Tue, 25 Jan 2011) | 22 lines Merged revisions 304006 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304006 | rmudgett | 2011-01-25 17:25:32 -0600 (Tue, 25 Jan 2011) | 15 lines Merged revisions 304005 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304005 | rmudgett | 2011-01-25 17:21:09 -0600 (Tue, 25 Jan 2011) | 8 lines DTMF attended transfers sometimes fail for no apparent reason. The loop in feature_request_and_dial() can exit when Party C has answered without processing an AST_CONTROL_ANSWER. Also sometimes an AST_CONTROL_ANSWER never happens even though Party C has answered. Don't hangup Party C if he is up or we receive an AST_CONTROL_ANSWER. ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3245,9 +3245,8 @@ static struct ast_channel *feature_request_and_dial(struct ast_channel *caller,
|
||||
|
||||
done:
|
||||
ast_indicate(caller, -1);
|
||||
if (chan && ready) {
|
||||
if (chan->_state == AST_STATE_UP)
|
||||
state = AST_CONTROL_ANSWER;
|
||||
if (chan && (ready || chan->_state == AST_STATE_UP)) {
|
||||
state = AST_CONTROL_ANSWER;
|
||||
} else if (chan) {
|
||||
ast_hangup(chan);
|
||||
chan = NULL;
|
||||
|
Reference in New Issue
Block a user