summaryrefslogtreecommitdiff
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-09-14 02:18:45 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-09-14 02:18:45 +0000
commit16cd2019b14c374f8c0133f7e31140d1513851d8 (patch)
tree01934fc5d29ca0cb16ad0d964c40580302346adb /channels/chan_iax2.c
parente60671d5bf5ee1702df94bc47de0211688757e89 (diff)
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
Diffstat (limited to 'channels/chan_iax2.c')
-rwxr-xr-xchannels/chan_iax2.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 1649d663a..22ae30b11 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -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))