]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9024: [avmd] Add events
authorPiotr Gregor <piotrek.gregor@gmail.com>
Wed, 20 Apr 2016 13:59:39 +0000 (14:59 +0100)
committerPiotr Gregor <piotrek.gregor@gmail.com>
Wed, 20 Apr 2016 13:59:39 +0000 (14:59 +0100)
Add sesion start/stop events.

src/mod/applications/mod_avmd/mod_avmd.c

index 0659c3ac44b0092c70f24ff44739487ae1040362..9fbb37fc8947a216e9e1ca80e38a048b32244fde 100644 (file)
 #define AVMD_PARAMS 2
 
 /*! FreeSWITCH CUSTOM event type. */
-#define AVMD_EVENT_BEEP "avmd::beep"
+#define AVMD_EVENT_BEEP             "avmd::beep"
+#define AVMD_EVENT_SESSION_START    "avmd::session_start"
+#define AVMD_EVENT_SESSION_STOP     "avmd::session_stop"
 
 #define AVMD_CHAR_BUF_LEN 20
 #define AVMD_BUF_LINEAR_LEN 160
@@ -327,6 +329,16 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_avmd_load)
                 "Couldn't register subclass [%s]!\n", AVMD_EVENT_BEEP);
                return SWITCH_STATUS_TERM;
        }
+       if (switch_event_reserve_subclass(AVMD_EVENT_SESSION_START) != SWITCH_STATUS_SUCCESS) {
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,
+                "Couldn't register subclass [%s]!\n", AVMD_EVENT_SESSION_START);
+               return SWITCH_STATUS_TERM;
+       }
+       if (switch_event_reserve_subclass(AVMD_EVENT_SESSION_STOP) != SWITCH_STATUS_SUCCESS) {
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,
+                "Couldn't register subclass [%s]!\n", AVMD_EVENT_SESSION_STOP);
+               return SWITCH_STATUS_TERM;
+       }
        
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE,
                "Advanced voicemail detection enabled\n");
@@ -625,6 +637,8 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_avmd_shutdown)
 #endif
 
        switch_event_free_subclass(AVMD_EVENT_BEEP);
+       switch_event_free_subclass(AVMD_EVENT_SESSION_START);
+       switch_event_free_subclass(AVMD_EVENT_SESSION_STOP);
        
 #ifdef AVMD_FAST_MATH
        res = destroy_fast_acosf();