]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
revert to the last transfered conference on recover
authorAnthony Minessale <anthm@freeswitch.org>
Tue, 14 Dec 2010 00:28:43 +0000 (18:28 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Tue, 14 Dec 2010 00:28:43 +0000 (18:28 -0600)
src/mod/applications/mod_conference/mod_conference.c

index 4cbb0529948ffb6b30b027c079510eb1ebe9552e..9b170a32e030d74b1b7197df2921453d30c44138 100644 (file)
@@ -4366,6 +4366,8 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc
                                }
                        }
 
+                       switch_channel_set_variable(channel, "last_transfered_conference", argv[2]);
+
                        unlock_member(member);
 
                        stream->write_function(stream, "OK Member '%d' sent to conference %s.\n", member->id, argv[2]);
@@ -5374,6 +5376,14 @@ SWITCH_STANDARD_APP(conference_function)
        }
 #endif
 
+       if (switch_channel_test_flag(channel, CF_RECOVERED)) {
+               const char *check = switch_channel_get_variable(channel, "last_transfered_conference");
+               
+               if (!zstr(check)) {
+                       conf_name = (char *) check;
+               }
+       }
+
        switch_event_create(&params, SWITCH_EVENT_COMMAND);
        switch_assert(params);
        switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "conf_name", conf_name);