From b5bde28d9f95086930d1a218cd26079fb17c54f8 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 13 Feb 2009 20:35:26 +0000 Subject: Add manager events for chanspy starting or stopping (closes issue #14469) Reported by: caio1982 Patches: chanspy_events2.diff uploaded by caio1982 (license 22) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175655 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_chanspy.c | 10 +++++++++- doc/manager_1_1.txt | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index 15a732c2b..9d087c4d1 100644 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -46,6 +46,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/say.h" #include "asterisk/pbx.h" #include "asterisk/translate.h" +#include "asterisk/manager.h" #include "asterisk/module.h" #include "asterisk/lock.h" #include "asterisk/options.h" @@ -456,8 +457,9 @@ static int channel_spy(struct ast_channel *chan, struct chanspy_ds *spyee_chansp } ast_mutex_unlock(&spyee_chanspy_ds->lock); - if (!spyee) + if (!spyee) { return 0; + } /* We now hold the channel lock on spyee */ @@ -467,7 +469,12 @@ static int channel_spy(struct ast_channel *chan, struct chanspy_ds *spyee_chansp } name = ast_strdupa(spyee->name); + ast_verb(2, "Spying on channel %s\n", name); + manager_event(EVENT_FLAG_CALL, "ChanSpyStart", + "SpyerChannel: %s\r\n" + "SpyeeChannel: %s\r\n", + spyer_name, name); memset(&csth, 0, sizeof(csth)); @@ -627,6 +634,7 @@ static int channel_spy(struct ast_channel *chan, struct chanspy_ds *spyee_chansp ast_audiohook_destroy(&csth.spy_audiohook); ast_verb(2, "Done Spying on channel %s\n", name); + manager_event(EVENT_FLAG_CALL, "ChanSpyStop", "SpyeeChannel: %s\r\n", name); return running; } diff --git a/doc/manager_1_1.txt b/doc/manager_1_1.txt index 23ac97493..2089e0253 100644 --- a/doc/manager_1_1.txt +++ b/doc/manager_1_1.txt @@ -337,6 +337,21 @@ Changes to manager version 1.1: If an actionID was specified for the SipShowRegistry action, it will be appended as the last line of the RegistrationsComplete event. +- Event: ChanSpyStart + Modules: app_chanspy + Purpose: Reports when an active channel starts to be monitored by someone. + Example: + Event: ChanSpyStart + SpyerChannel: SIP/4321-13bba124 + SpyeeChannel: SIP/1234-56ecc098 + +- Event: ChanSpyStop + Modules: app_chanspy + Purpose: Reports when an active channel stops to be monitored by someone. + Example: + Event: ChanSpyStop + SpyeeChannel: SIP/1234-56ecc098 + * TODO ------ -- cgit v1.2.3