Add manager events for when a monitor is started or stopped.
authorJason Parker <jparker@digium.com>
Mon, 3 Dec 2007 23:48:04 +0000 (23:48 +0000)
committerJason Parker <jparker@digium.com>
Mon, 3 Dec 2007 23:48:04 +0000 (23:48 +0000)
Closes issue #10191, patch by dgradecak.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90738 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_monitor.c

index 0db821e..94d3a60 100644 (file)
@@ -233,6 +233,13 @@ int ast_monitor_start(     struct ast_channel *chan, const char *format_spec,
                ast_monitor_set_state(chan, AST_MONITOR_RUNNING);
                /* so we know this call has been monitored in case we need to bill for it or something */
                pbx_builtin_setvar_helper(chan, "__MONITORED","true");
+
+               manager_event(EVENT_FLAG_CALL, "MonitorStart",
+                               "Channel: %s\r\n"
+                               "Uniqueid: %s\r\n",                        
+                               chan->name,
+                               chan->uniqueid                        
+                               );
        } else {
                ast_debug(1,"Cannot start monitoring %s, already monitored\n", chan->name);
                res = -1;
@@ -341,6 +348,13 @@ int ast_monitor_stop(struct ast_channel *chan, int need_lock)
                ast_free(chan->monitor->format);
                ast_free(chan->monitor);
                chan->monitor = NULL;
+
+               manager_event(EVENT_FLAG_CALL, "MonitorStop",
+                               "Channel: %s\r\n"
+                               "Uniqueid: %s\r\n",
+                               chan->name,
+                               chan->uniqueid
+                               );
        }
 
        UNLOCK_IF_NEEDED(chan, need_lock);