]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-2901 --resolve
authorMarc Olivier Chouinard <mochouinard@moctel.com>
Thu, 15 Dec 2011 02:56:00 +0000 (21:56 -0500)
committerMarc Olivier Chouinard <mochouinard@moctel.com>
Thu, 15 Dec 2011 02:56:00 +0000 (21:56 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.c
src/mod/endpoints/mod_sofia/mod_sofia.h

index e6d68edf2441d02116e0f58150f3a4105453034d..7e102047f34492d3d3aa7e7a719d6b04f164940e 100644 (file)
@@ -4177,10 +4177,23 @@ SWITCH_STANDARD_API(sofia_function)
                        stream->write_function(stream, "Flushing recovery database.\n");
                } else {
                        int x = sofia_glue_recover(SWITCH_FALSE);
+                       switch_event_t *event = NULL;
 
                        if (x) {
+                               if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM,
+                                       MY_EVENT_RECOVERY_RECOVERED) == SWITCH_STATUS_SUCCESS) {
+                                       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "recovered_calls", "%d", x);
+                                       switch_event_fire(&event);
+                               }
+
                                stream->write_function(stream, "Recovered %d call(s)\n", x);
                        } else {
+                               if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM,
+                                       MY_EVENT_RECOVERY_RECOVERED) == SWITCH_STATUS_SUCCESS) {
+                                       switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "recovered_calls", "0");
+                                       switch_event_fire(&event);
+                               }
+
                                stream->write_function(stream, "No calls to recover.\n");
                        }
                }
index a95aa9d1cb8875f6cafee4bc6cac0c8d6f038762..b289ffb703ce46929acdca4352d13497c3d4dd99 100644 (file)
@@ -87,6 +87,7 @@ typedef struct private_object private_object_t;
 #define MY_EVENT_GATEWAY_DEL "sofia::gateway_delete"
 #define MY_EVENT_RECOVERY "sofia::recovery_recv"
 #define MY_EVENT_RECOVERY_SEND "sofia::recovery_send"
+#define MY_EVENT_RECOVERY_RECOVERED "sofia::recovery_recovered"
 
 #define MULTICAST_EVENT "multicast::event"
 #define SOFIA_REPLACES_HEADER "_sofia_replaces_"