1
0
mirror of https://github.com/signalwire/freeswitch.git synced 2025-03-06 18:30:01 +00:00

FS-3275 try this patch

This commit is contained in:
Anthony Minessale 2011-06-23 11:57:38 -05:00
parent 26de8e469a
commit 2486306126
2 changed files with 3 additions and 6 deletions
src
mod/applications/mod_dptools
switch_ivr_async.c

@ -1826,8 +1826,6 @@ static switch_status_t xfer_on_dtmf(switch_core_session_t *session, void *input,
app = "intercept"; app = "intercept";
} }
switch_core_session_rwunlock(b_session); switch_core_session_rwunlock(b_session);
} else {
switch_channel_set_state(channel, CS_RESET);
} }
if ((extension = switch_caller_extension_new(peer_session, app, app_arg)) == 0) { if ((extension = switch_caller_extension_new(peer_session, app, app_arg)) == 0) {
@ -1837,7 +1835,6 @@ static switch_status_t xfer_on_dtmf(switch_core_session_t *session, void *input,
switch_caller_extension_add_application(peer_session, extension, app, app_arg); switch_caller_extension_add_application(peer_session, extension, app, app_arg);
switch_channel_set_caller_extension(peer_channel, extension); switch_channel_set_caller_extension(peer_channel, extension);
switch_channel_set_flag(peer_channel, CF_TRANSFER);
switch_channel_set_state(peer_channel, CS_RESET); switch_channel_set_state(peer_channel, CS_RESET);
switch_channel_wait_for_state(peer_channel, channel, CS_RESET); switch_channel_wait_for_state(peer_channel, channel, CS_RESET);
switch_channel_set_state(peer_channel, CS_EXECUTE); switch_channel_set_state(peer_channel, CS_EXECUTE);

@ -1167,12 +1167,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session
goto end; goto end;
} }
while(switch_channel_state_change_pending(tchannel)) { while(switch_channel_state_change_pending(tchannel) || !switch_channel_media_ready(tchannel)) {
switch_yield(10000); switch_yield(10000);
if (!--sanity) break; if (!--sanity) break;
} }
if (!switch_channel_media_ready(tchannel)) { if (!switch_channel_media_up(tchannel)) {
goto end; goto end;
} }
@ -1287,7 +1287,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session
msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY; msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY;
switch_core_session_receive_message(tsession, &msg); switch_core_session_receive_message(tsession, &msg);
while (switch_channel_ready(tchannel) && switch_channel_ready(channel)) { while (switch_channel_up(tchannel) && switch_channel_ready(channel)) {
uint32_t len = sizeof(buf); uint32_t len = sizeof(buf);
switch_event_t *event = NULL; switch_event_t *event = NULL;
char *fcommand = NULL; char *fcommand = NULL;