]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[Core] Add check for recovery_skip_announcement_type_applications channel variable...
authorAndrey Volk <andywolk@gmail.com>
Mon, 16 Nov 2020 20:57:10 +0000 (00:57 +0400)
committerAndrey Volk <andywolk@gmail.com>
Sat, 23 Oct 2021 19:00:37 +0000 (22:00 +0300)
src/switch_core_sqldb.c

index 3ce7fae8fbeb235653ff8495a57571bb8e9d5b4d..e9334eb52d7a0318c112406f3fe403fc66f18500 100644 (file)
@@ -3288,11 +3288,12 @@ static int recover_callback(void *pArg, int argc, char **argv, char **columnName
                                }
 
                                if ((callflow = switch_xml_child(xml, "callflow")) && (x_extension = switch_xml_child(callflow, "extension"))) {
+                                       int recovery_skip_announcement_type_applications = switch_channel_var_true(channel, "recovery_skip_announcement_type_applications");
                                        for (param = switch_xml_child(x_extension, "application"); param; param = param->next) {
                                                const char *var = switch_xml_attr_soft(param, "app_name");
                                                const char *val = switch_xml_attr_soft(param, "app_data");
                                                /* skip announcement type apps */
-                                               if (strcasecmp(var, "speak") && strcasecmp(var, "playback") && strcasecmp(var, "gentones") && strcasecmp(var, "say")) {
+                                               if (!recovery_skip_announcement_type_applications || (strcasecmp(var, "speak") && strcasecmp(var, "playback") && strcasecmp(var, "gentones") && strcasecmp(var, "say"))) {
                                                        switch_caller_extension_add_application(session, extension, var, val);
                                                }
                                        }