From dfdd2f60d4b80b1e3a5a618ec29ad6cbd1ee9c71 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Jun 2013 21:10:23 -0500 Subject: [PATCH] FS-5530 --resolve --- src/switch_ivr_bridge.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 216c0b60ac..4bddd74b27 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -1528,7 +1528,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_multi_threaded_bridge(switch_core_ses !switch_channel_test_flag(caller_channel, CF_XFER_ZOMBIE) && !a_leg->clean_exit && !inner_bridge) { if ((state != CS_EXECUTE && state != CS_SOFT_EXECUTE && state != CS_PARK && state != CS_ROUTING) || (switch_channel_test_flag(peer_channel, CF_ANSWERED) && state < CS_HANGUP)) { + switch_call_cause_t cause = switch_channel_get_cause(peer_channel); + if (cause && !switch_channel_test_flag(peer_channel, CF_ANSWERED)) { + switch_channel_handle_cause(caller_channel, cause); + } + if (switch_true(switch_channel_get_variable(caller_channel, SWITCH_PARK_AFTER_BRIDGE_VARIABLE))) { switch_ivr_park_session(session); } else if ((var = switch_channel_get_variable(caller_channel, SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE))) {