don't set state to BUSY if the channel is already in the UP state

(issue #7376, backported from trunk)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@34655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Russell Bryant 20 years ago
parent 4893f1917f
commit 1eb2822b3b

@ -5432,7 +5432,8 @@ static int pbx_builtin_ringing(struct ast_channel *chan, void *data)
static int pbx_builtin_busy(struct ast_channel *chan, void *data) static int pbx_builtin_busy(struct ast_channel *chan, void *data)
{ {
ast_indicate(chan, AST_CONTROL_BUSY); ast_indicate(chan, AST_CONTROL_BUSY);
ast_setstate(chan, AST_STATE_BUSY); if (chan->_state != AST_STATE_UP)
ast_setstate(chan, AST_STATE_BUSY);
wait_for_hangup(chan, data); wait_for_hangup(chan, data);
return -1; return -1;
} }
@ -5443,7 +5444,8 @@ static int pbx_builtin_busy(struct ast_channel *chan, void *data)
static int pbx_builtin_congestion(struct ast_channel *chan, void *data) static int pbx_builtin_congestion(struct ast_channel *chan, void *data)
{ {
ast_indicate(chan, AST_CONTROL_CONGESTION); ast_indicate(chan, AST_CONTROL_CONGESTION);
ast_setstate(chan, AST_STATE_BUSY); if (chan->_state != AST_STATE_UP)
ast_setstate(chan, AST_STATE_BUSY);
wait_for_hangup(chan, data); wait_for_hangup(chan, data);
return -1; return -1;
} }

Loading…
Cancel
Save