]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODENDP-284
authorBrian West <brian@freeswitch.org>
Sat, 23 Jan 2010 18:43:38 +0000 (18:43 +0000)
committerBrian West <brian@freeswitch.org>
Sat, 23 Jan 2010 18:43:38 +0000 (18:43 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16483 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/mod_sofia.c
src/mod/endpoints/mod_sofia/mod_sofia.h
src/mod/endpoints/mod_sofia/sofia_reg.c

index 998303ac7c7a6899140f6fc3a8e6ee498ade4a82..f57a103319726b82ff23afd507f995cfbb080ec9 100644 (file)
@@ -2512,6 +2512,7 @@ static switch_status_t cmd_profile(char **argv, int argc, switch_stream_handle_t
        char *profile_name = argv[0];
        const char *err;
        switch_xml_t xml_root;
+       switch_event_t *event;
 
        if (argc < 2) {
                stream->write_function(stream, "Invalid Args!\n");
@@ -2554,6 +2555,10 @@ static switch_status_t cmd_profile(char **argv, int argc, switch_stream_handle_t
                        sofia_glue_del_gateway(gateway_ptr);
                        sofia_reg_release_gateway(gateway_ptr);
                        stream->write_function(stream, "+OK gateway marked for deletion.\n");
+                       if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_DEL) == SWITCH_STATUS_SUCCESS) {
+                               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Gateway", argv[2]);
+                               switch_event_fire(&event);
+                       }
                } else {
                        stream->write_function(stream, "-ERR no such gateway.\n");
                }
index 22e6b795d4f1375f388a1b88007e6546cd81705b..1c743db4d716c187b89d3d85f6263dfd97c37b55 100644 (file)
@@ -81,6 +81,8 @@ typedef struct private_object private_object_t;
 #define MY_EVENT_GATEWAY_STATE "sofia::gateway_state"
 #define MY_EVENT_NOTIFY_REFER "sofia::notify_refer"
 #define MY_EVENT_REINVITE "sofia::reinvite"
+#define MY_EVENT_GATEWAY_ADD "sofia::gateway_add"
+#define MY_EVENT_GATEWAY_DEL "sofia::gateway_delete"
 
 #define MULTICAST_EVENT "multicast::event"
 #define SOFIA_REPLACES_HEADER "_sofia_replaces_"
index 0a19606fb3853b98efc85c5dbee94bfa57775ed3..424c0a0495fa07d76c5c8dcbb6d118fba51476ca 100644 (file)
@@ -2355,7 +2355,12 @@ switch_status_t sofia_reg_add_gateway(char *key, sofia_gateway_t *gateway)
        switch_mutex_unlock(mod_sofia_globals.hash_mutex);
 
        if (status == SWITCH_STATUS_SUCCESS) {
+               switch_event_t *s_event;
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Added gateway '%s' to profile '%s'\n", gateway->name, gateway->profile->name);
+               if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_ADD) == SWITCH_STATUS_SUCCESS) {
+                       switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "Gateway", gateway->name);
+                       switch_event_fire(&s_event);
+               }
        }
 
        return status;