]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
trim down some of the events because people don't like info these days
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 2 Oct 2008 15:38:45 +0000 (15:38 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 2 Oct 2008 15:38:45 +0000 (15:38 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9786 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_types.h
src/mod/applications/mod_dptools/mod_dptools.c
src/switch_channel.c
src/switch_event.c

index be681e82bd81ecb07031585b5b3bfd73d15b3c43..5fa11ce62692f22fec905f39f09bbb2ef33e744c 100644 (file)
@@ -776,7 +776,8 @@ typedef enum {
        CF_STOP_BROADCAST = (1 << 26),
        CF_PROXY_MEDIA = (1 << 27),
        CF_INNER_BRIDGE = (1 << 28),
-       CF_REQ_MEDIA = (1 << 29)
+       CF_REQ_MEDIA = (1 << 29),
+       CF_VERBOSE_EVENTS = (1 << 30)
 } switch_channel_flag_enum_t;
 typedef uint32_t switch_channel_flag_t;
 
@@ -1026,7 +1027,8 @@ typedef uint32_t switch_io_flag_t;
     SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE      - A channel has finshed executing a module's application
        SWITCH_EVENT_CHANNEL_BRIDGE     - A channel has bridged to another channel
        SWITCH_EVENT_CHANNEL_UNBRIDGE   - A channel has unbridged from another channel
-    SWITCH_EVENT_CHANNEL_PROGRESS      - A channel has been parked
+    SWITCH_EVENT_CHANNEL_PROGRESS      - A channel has started ringing
+    SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA        - A channel has started early media
     SWITCH_EVENT_CHANNEL_OUTGOING      - A channel has been unparked
        SWITCH_EVENT_CHANNEL_PARK               - A channel has been parked
        SWITCH_EVENT_CHANNEL_UNPARK     - A channel has been unparked
@@ -1083,6 +1085,7 @@ typedef enum {
        SWITCH_EVENT_CHANNEL_BRIDGE,
        SWITCH_EVENT_CHANNEL_UNBRIDGE,
        SWITCH_EVENT_CHANNEL_PROGRESS,
+       SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA,
        SWITCH_EVENT_CHANNEL_OUTGOING,
        SWITCH_EVENT_CHANNEL_PARK,
        SWITCH_EVENT_CHANNEL_UNPARK,
index a3793baa6d528fdf19bcffa89b01d60ae48ec681..5188c24a21ce4224219de6f3aa2ea57c9bfd337b 100644 (file)
@@ -2144,6 +2144,11 @@ SWITCH_STANDARD_APP(unhold_function)
        switch_ivr_unhold_uuid(switch_core_session_get_uuid(session));
 }
 
+SWITCH_STANDARD_APP(verbose_events_function)
+{
+       switch_channel_set_flag(switch_core_session_get_channel(session), CF_VERBOSE_EVENTS);
+}
+
 #define WAIT_FOR_SILENCE_SYNTAX "<silence_thresh> <silence_hits> <listen_hits> <timeout_ms> [<file>]"
 SWITCH_STANDARD_APP(wait_for_silence_function)
 {
@@ -2279,7 +2284,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load)
 
        SWITCH_ADD_CHAT(chat_interface, "event", event_chat_send);
        SWITCH_ADD_CHAT(chat_interface, "api", api_chat_send);
-
+       
        SWITCH_ADD_API(api_interface, "strepoch", "Convert a date string into epoch time", strepoch_api_function, "<string>");
        SWITCH_ADD_API(api_interface, "chat", "chat", chat_api_function, "<proto>|<from>|<to>|<message>");
        SWITCH_ADD_API(api_interface, "strftime", "strftime", strftime_api_function, "<format_string>");
@@ -2293,6 +2298,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load)
                                   SAF_SUPPORT_NOMEDIA);
        SWITCH_ADD_APP(app_interface, "check_acl", "Check an ip against an ACL list", "Check an ip against an ACL list", check_acl_function,
                                   "<ip> <acl | cidr> [<hangup_cause>]", SAF_SUPPORT_NOMEDIA);
+       SWITCH_ADD_APP(app_interface, "verbose_events", "Make ALL Events verbose.", "Make ALL Events verbose.", verbose_events_function, "", SAF_SUPPORT_NOMEDIA);
        SWITCH_ADD_APP(app_interface, "sleep", "Pause a channel", SLEEP_LONG_DESC, sleep_function, "<pausemilliseconds>", SAF_SUPPORT_NOMEDIA);
        SWITCH_ADD_APP(app_interface, "delay_echo", "echo audio at a specified delay", "Delay n ms", delay_function, "<delay ms>", SAF_NONE);
        SWITCH_ADD_APP(app_interface, "strftime", "strftime", "strftime", strftime_function, "[<epoch>|]<format string>", SAF_SUPPORT_NOMEDIA);
index 838abe5f7fa7d7be2fd35809ffcb937fba107955..4fa67f1bef9c860549d04e4a01c2117408b32b32 100644 (file)
@@ -1129,41 +1129,51 @@ SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel_t *channel, sw
                switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Rate", "%u", codec->implementation->actual_samples_per_second);
        }
 
-       /* Index Caller's Profile */
-       if (caller_profile) {
-               switch_caller_profile_event_set_data(caller_profile, "Caller", event);
-       }
-
-       if (originator_caller_profile && originatee_caller_profile) {
-               /* Index Originator's Profile */
-               switch_caller_profile_event_set_data(originator_caller_profile, "Originator", event);
-
-               /* Index Originatee's Profile */
-               switch_caller_profile_event_set_data(originatee_caller_profile, "Originatee", event);
-       } else {
-               /* Index Originator's Profile */
-               if (originator_caller_profile) {
-                       switch_caller_profile_event_set_data(originator_caller_profile, "Other-Leg", event);
-               } else if (originatee_caller_profile) { /* Index Originatee's Profile */
-                       switch_caller_profile_event_set_data(originatee_caller_profile, "Other-Leg", event);
+       if (switch_test_flag(channel, CF_VERBOSE_EVENTS) || 
+               event->event_id == SWITCH_EVENT_CHANNEL_ORIGINATE ||
+               event->event_id == SWITCH_EVENT_CHANNEL_ANSWER ||
+               event->event_id == SWITCH_EVENT_CHANNEL_PROGRESS ||
+               event->event_id == SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA ||
+               event->event_id == SWITCH_EVENT_CHANNEL_HANGUP
+               ) {
+
+               /* Index Caller's Profile */
+               if (caller_profile) {
+                       switch_caller_profile_event_set_data(caller_profile, "Caller", event);
                }
-       }
-       x = 0;
-       /* Index Variables */
-       if (channel->variables) {
-               for (hi = channel->variables->headers; hi; hi = hi->next) {
-                       char buf[1024];
-                       char *vvar = NULL, *vval = NULL;
 
-                       vvar = (char *) hi->name;
-                       vval = (char *) hi->value;
-                       x++;
+               if (originator_caller_profile && originatee_caller_profile) {
+                       /* Index Originator's Profile */
+                       switch_caller_profile_event_set_data(originator_caller_profile, "Originator", event);
 
-                       switch_assert(vvar && vval);
-                       switch_snprintf(buf, sizeof(buf), "variable_%s", vvar);
-                       switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, vval);
+                       /* Index Originatee's Profile */
+                       switch_caller_profile_event_set_data(originatee_caller_profile, "Originatee", event);
+               } else {
+                       /* Index Originator's Profile */
+                       if (originator_caller_profile) {
+                               switch_caller_profile_event_set_data(originator_caller_profile, "Other-Leg", event);
+                       } else if (originatee_caller_profile) { /* Index Originatee's Profile */
+                               switch_caller_profile_event_set_data(originatee_caller_profile, "Other-Leg", event);
+                       }
+               }
+               x = 0;
+               /* Index Variables */
+               if (channel->variables) {
+                       for (hi = channel->variables->headers; hi; hi = hi->next) {
+                               char buf[1024];
+                               char *vvar = NULL, *vval = NULL;
+                               
+                               vvar = (char *) hi->name;
+                               vval = (char *) hi->value;
+                               x++;
+
+                               switch_assert(vvar && vval);
+                               switch_snprintf(buf, sizeof(buf), "variable_%s", vvar);
+                               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, buf, vval);
+                       }
                }
        }
+
        switch_mutex_unlock(channel->profile_mutex);
 }
 
@@ -1414,12 +1424,7 @@ SWITCH_DECLARE(switch_channel_state_t) switch_channel_perform_hangup(switch_chan
                channel->hangup_cause = hangup_cause;
                switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, "Hangup %s [%s] [%s]\n",
                                                  channel->name, state_names[last_state], switch_channel_cause2str(channel->hangup_cause));
-               if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_HANGUP) == SWITCH_STATUS_SUCCESS) {
-                       switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(channel->hangup_cause));
-                       switch_channel_event_set_data(channel, event);
-                       switch_event_fire(&event);
-               }
-
+               
                switch_channel_set_variable(channel, "hangup_cause", switch_channel_cause2str(channel->hangup_cause));
                switch_channel_presence(channel, "unavailable", switch_channel_cause2str(channel->hangup_cause), NULL);
 
@@ -1427,6 +1432,13 @@ SWITCH_DECLARE(switch_channel_state_t) switch_channel_perform_hangup(switch_chan
                switch_core_session_signal_state_change(channel->session);
 
                switch_channel_set_timestamps(channel);
+
+               if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_HANGUP) == SWITCH_STATUS_SUCCESS) {
+                       switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(channel->hangup_cause));
+                       switch_channel_event_set_data(channel, event);
+                       switch_event_fire(&event);
+               }
+
        }
 
        switch_mutex_unlock(channel->flag_mutex);
@@ -1437,6 +1449,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_ring_ready(switch_ch
 {
        const char *var;
        char *app;
+       switch_event_t *event;
 
        if (!switch_channel_test_flag(channel, CF_RING_READY)) {
                switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, "Ring-Ready %s!\n", channel->name);
@@ -1447,6 +1460,11 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_ring_ready(switch_ch
                        switch_mutex_unlock(channel->profile_mutex);
                }
 
+               if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_PROGRESS) == SWITCH_STATUS_SUCCESS) {
+                       switch_channel_event_set_data(channel, event);
+                       switch_event_fire(&event);
+               }
+
                var = switch_channel_get_variable(channel, SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE);
                if (var) {
                        char *arg = NULL;
@@ -1477,7 +1495,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_pre_answered(switch_
                switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, "Pre-Answer %s!\n", channel->name);
                switch_channel_set_flag(channel, CF_EARLY_MEDIA);
                switch_channel_set_variable(channel, "endpoint_disposition", "EARLY MEDIA");
-               if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_PROGRESS) == SWITCH_STATUS_SUCCESS) {
+               if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA) == SWITCH_STATUS_SUCCESS) {
                        switch_channel_event_set_data(channel, event);
                        switch_event_fire(&event);
                }
index 6b22128d4d757a3ef75749b879f85ba3e0c9c8cc..5c22843e053233c39c06e1cf4c1fe3b518df4964 100644 (file)
@@ -119,6 +119,7 @@ static char *EVENT_NAMES[] = {
        "CHANNEL_BRIDGE",
        "CHANNEL_UNBRIDGE",
        "CHANNEL_PROGRESS",
+       "CHANNEL_PROGRESS_MEDIA",
        "CHANNEL_OUTGOING",
        "CHANNEL_PARK",
        "CHANNEL_UNPARK",