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:
parent
26de8e469a
commit
2486306126
src
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user