提交 8decee30 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-3358 please test and close if it works

上级 d4fe85ed
...@@ -929,6 +929,8 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f ...@@ -929,6 +929,8 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f
} }
while (!(tech_pvt->read_codec.implementation && switch_rtp_ready(tech_pvt->rtp_session) && !switch_channel_test_flag(channel, CF_REQ_MEDIA))) { while (!(tech_pvt->read_codec.implementation && switch_rtp_ready(tech_pvt->rtp_session) && !switch_channel_test_flag(channel, CF_REQ_MEDIA))) {
switch_ivr_parse_all_messages(tech_pvt->session);
if (--sanity && switch_channel_up(channel)) { if (--sanity && switch_channel_up(channel)) {
switch_yield(10000); switch_yield(10000);
} else { } else {
......
...@@ -1693,6 +1693,8 @@ SWITCH_DECLARE(int) switch_channel_test_ready(switch_channel_t *channel, switch_ ...@@ -1693,6 +1693,8 @@ SWITCH_DECLARE(int) switch_channel_test_ready(switch_channel_t *channel, switch_
switch_assert(channel != NULL); switch_assert(channel != NULL);
switch_ivr_parse_all_messages(channel->session);
if (check_media) { if (check_media) {
ret = ((switch_channel_test_flag(channel, CF_ANSWERED) || ret = ((switch_channel_test_flag(channel, CF_ANSWERED) ||
switch_channel_test_flag(channel, CF_EARLY_MEDIA)) && !switch_channel_test_flag(channel, CF_PROXY_MODE) && switch_channel_test_flag(channel, CF_EARLY_MEDIA)) && !switch_channel_test_flag(channel, CF_PROXY_MODE) &&
......
...@@ -809,7 +809,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_dequeue_message(switch_core_ ...@@ -809,7 +809,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_dequeue_message(switch_core_
switch_assert(session != NULL); switch_assert(session != NULL);
if (session->message_queue) { if (session->message_queue && switch_queue_size(session->message_queue)) {
if ((status = (switch_status_t) switch_queue_trypop(session->message_queue, &pop)) == SWITCH_STATUS_SUCCESS) { if ((status = (switch_status_t) switch_queue_trypop(session->message_queue, &pop)) == SWITCH_STATUS_SUCCESS) {
*message = (switch_core_session_message_t *) pop; *message = (switch_core_session_message_t *) pop;
if ((*message)->delivery_time && (*message)->delivery_time > switch_epoch_time_now(NULL)) { if ((*message)->delivery_time && (*message)->delivery_time > switch_epoch_time_now(NULL)) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论