mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-15 17:27:02 +00:00
ensure that Manager hold/unhold events are generated even for non-bridged channels (issue #4594)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -6592,6 +6592,15 @@ retryowner:
|
||||
break;
|
||||
case IAX_COMMAND_QUELCH:
|
||||
if (iaxs[fr.callno]->state & IAX_STATE_STARTED) {
|
||||
/* Generate Manager Hold event, if necessary*/
|
||||
if (iaxs[fr.callno]->owner) {
|
||||
manager_event(EVENT_FLAG_CALL, "Hold",
|
||||
"Channel: %s\r\n"
|
||||
"Uniqueid: %s\r\n",
|
||||
iaxs[fr.callno]->owner->name,
|
||||
iaxs[fr.callno]->owner->uniqueid);
|
||||
}
|
||||
|
||||
ast_set_flag(iaxs[fr.callno], IAX_QUELCH);
|
||||
if (ies.musiconhold) {
|
||||
if (iaxs[fr.callno]->owner &&
|
||||
@@ -6600,8 +6609,17 @@ retryowner:
|
||||
}
|
||||
}
|
||||
break;
|
||||
case IAX_COMMAND_UNQUELCH:
|
||||
case IAX_COMMAND_UNQUELCH:
|
||||
if (iaxs[fr.callno]->state & IAX_STATE_STARTED) {
|
||||
/* Generate Manager Unhold event, if necessary*/
|
||||
if (iaxs[fr.callno]->owner && ast_test_flag(iaxs[fr.callno], IAX_QUELCH)) {
|
||||
manager_event(EVENT_FLAG_CALL, "Unhold",
|
||||
"Channel: %s\r\n"
|
||||
"Uniqueid: %s\r\n",
|
||||
iaxs[fr.callno]->owner->name,
|
||||
iaxs[fr.callno]->owner->uniqueid);
|
||||
}
|
||||
|
||||
ast_clear_flag(iaxs[fr.callno], IAX_QUELCH);
|
||||
if (iaxs[fr.callno]->owner &&
|
||||
ast_bridged_channel(iaxs[fr.callno]->owner))
|
||||
|
Reference in New Issue
Block a user