From 97f70aeb705d0336948e734bba2ad22524192137 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 27 Nov 2013 12:40:35 -0600 Subject: [PATCH] FS-6006 --resolve Conflicts: src/switch_core_session.c --- src/switch_core_session.c | 10 ++++++++++ src/switch_ivr.c | 3 +++ 2 files changed, 13 insertions(+) diff --git a/src/switch_core_session.c b/src/switch_core_session.c index f32fe00f8f..1860b55065 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -740,6 +740,16 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_perform_receive_message(swit switch_assert(session != NULL); + if (message->message_id == SWITCH_MESSAGE_INDICATE_SIGNAL_DATA) { + if (session->endpoint_interface->io_routines->receive_message) { + status = session->endpoint_interface->io_routines->receive_message(session, message); + } + + switch_core_session_free_message(&message); + return status; + } + + if ((status = switch_core_session_read_lock_hangup(session)) != SWITCH_STATUS_SUCCESS) { return status; } diff --git a/src/switch_ivr.c b/src/switch_ivr.c index 6cfdca4dad..e0f86a521b 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -811,6 +811,9 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_signal_data(switch_core_ses int i = 0; switch_channel_t *channel = switch_core_session_get_channel(session); + if (!switch_core_session_in_thread(session)) { + return SWITCH_STATUS_FALSE; + } if (switch_channel_test_flag(channel, CF_SIGNAL_DATA)) { return SWITCH_STATUS_FALSE;