]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
don't answer in this case
authorAnthony Minessale <anthony.minessale@gmail.com>
Mon, 6 Apr 2009 18:34:31 +0000 (18:34 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Mon, 6 Apr 2009 18:34:31 +0000 (18:34 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12918 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_ivr_bridge.c

index fd5949479063ce043afd71af849b7c6f4204b54d..d2a84b1783f55e73281f07936f13afeef7341dfb 100644 (file)
@@ -324,12 +324,14 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj)
                if (ans_a != ans_b) {
                        switch_channel_t *un = ans_a ? chan_b : chan_a;
                        
-                       if (switch_channel_answer(un) != SWITCH_STATUS_SUCCESS) {
-                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Media Establishment Failed.\n", switch_channel_get_name(un));
-                               goto end_of_bridge_loop;
+                       if (!switch_channel_test_flag(un, CF_OUTBOUND)) {
+                               if (switch_channel_answer(un) != SWITCH_STATUS_SUCCESS) {
+                                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Media Establishment Failed.\n", switch_channel_get_name(un));
+                                       goto end_of_bridge_loop;
+                               }
+                               
+                               if (ans_a) ans_b = 1; else ans_a = 1;
                        }
-                       
-                       if (ans_a) ans_b = 1; else ans_a = 1;
                }