]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-5925 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 31 Oct 2013 14:28:31 +0000 (09:28 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 31 Oct 2013 14:28:31 +0000 (09:28 -0500)
src/mod/applications/mod_conference/mod_conference.c

index 863e4c727bf6f5f04cb9d5fd2b1a0a35f6644958..61a50854ea87d22d1f71a7341ddb424d9718d672 100644 (file)
@@ -33,6 +33,7 @@
  * Joao Mesquita <jmesquita@gmail.com>
  * Raymond Chandler <intralanman@freeswitch.org>
  * Seven Du <dujinfang@gmail.com>
+ * Emmanuel Schmidbauer <e.schmidbauer@gmail.com>
  *
  * mod_conference.c -- Software Conference Bridge
  *
@@ -4083,6 +4084,7 @@ static void conference_loop_output(conference_member_t *member)
                const char *ann = switch_channel_get_variable(channel, "conference_auto_outcall_announce");
                const char *prefix = switch_channel_get_variable(channel, "conference_auto_outcall_prefix");
                const char *maxwait = switch_channel_get_variable(channel, "conference_auto_outcall_maxwait");
+               const char *delimiter_val = switch_channel_get_variable(channel, "conference_auto_outcall_delimiter");
                int to = 60;
                int wait_sec = 2;
                int loops = 0;
@@ -4109,7 +4111,12 @@ static void conference_loop_output(conference_member_t *member)
                        int x = 0;
 
                        switch_assert(cpstr);
-                       argc = switch_separate_string(cpstr, ',', argv, (sizeof(argv) / sizeof(argv[0])));
+                       if (!zstr(delimiter_val) && strlen(delimiter_val) == 1) {
+                               char delimiter = *delimiter_val;
+                               argc = switch_separate_string(cpstr, delimiter, argv, (sizeof(argv) / sizeof(argv[0])));
+                       } else {
+                               argc = switch_separate_string(cpstr, ',', argv, (sizeof(argv) / sizeof(argv[0])));
+                       }
                        for (x = 0; x < argc; x++) {
                                char *dial_str = switch_mprintf("%s%s", switch_str_nil(prefix), argv[x]);
                                switch_assert(dial_str);