提交 a53659c0 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-7929 #resolve [ignore_early_media=true behaviour]

上级 56d83d19
...@@ -122,6 +122,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_events(switch_core_session_ ...@@ -122,6 +122,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_events(switch_core_session_
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_next_event(switch_core_session_t *session); SWITCH_DECLARE(switch_status_t) switch_ivr_parse_next_event(switch_core_session_t *session);
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_messages(switch_core_session_t *session); SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_messages(switch_core_session_t *session);
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_signal_data(switch_core_session_t *session); SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_signal_data(switch_core_session_t *session);
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_signal_data(switch_core_session_t *session, switch_bool_t all, switch_bool_t only_session_thread);
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_next_signal_data(switch_core_session_t *session); SWITCH_DECLARE(switch_status_t) switch_ivr_parse_next_signal_data(switch_core_session_t *session);
SWITCH_DECLARE(switch_status_t) switch_ivr_process_indications(switch_core_session_t *session, switch_core_session_message_t *message); SWITCH_DECLARE(switch_status_t) switch_ivr_process_indications(switch_core_session_t *session, switch_core_session_message_t *message);
......
...@@ -3146,6 +3146,8 @@ static void *SWITCH_THREAD_FUNC camp_music_thread(switch_thread_t *thread, void ...@@ -3146,6 +3146,8 @@ static void *SWITCH_THREAD_FUNC camp_music_thread(switch_thread_t *thread, void
} }
while (stake->running && switch_channel_ready(channel)) { while (stake->running && switch_channel_ready(channel)) {
switch_ivr_parse_signal_data(session, SWITCH_TRUE, SWITCH_FALSE);
if (status != SWITCH_STATUS_BREAK) { if (status != SWITCH_STATUS_BREAK) {
if (!strcasecmp(moh, "silence")) { if (!strcasecmp(moh, "silence")) {
status = switch_ivr_collect_digits_callback(session, &args, 0, 0); status = switch_ivr_collect_digits_callback(session, &args, 0, 0);
......
...@@ -820,14 +820,14 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_messages(switch_core_sessio ...@@ -820,14 +820,14 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_messages(switch_core_sessio
} }
static switch_status_t switch_ivr_parse_signal_data(switch_core_session_t *session, switch_bool_t all) SWITCH_DECLARE(switch_status_t) switch_ivr_parse_signal_data(switch_core_session_t *session, switch_bool_t all, switch_bool_t only_session_thread)
{ {
void *data; void *data;
switch_core_session_message_t msg = { 0 }; switch_core_session_message_t msg = { 0 };
int i = 0; int i = 0;
switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_t *channel = switch_core_session_get_channel(session);
if (!switch_core_session_in_thread(session)) { if (only_session_thread && !switch_core_session_in_thread(session)) {
return SWITCH_STATUS_FALSE; return SWITCH_STATUS_FALSE;
} }
...@@ -857,11 +857,11 @@ static switch_status_t switch_ivr_parse_signal_data(switch_core_session_t *sessi ...@@ -857,11 +857,11 @@ static switch_status_t switch_ivr_parse_signal_data(switch_core_session_t *sessi
} }
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_signal_data(switch_core_session_t *session) { SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_signal_data(switch_core_session_t *session) {
return switch_ivr_parse_signal_data(session, SWITCH_TRUE); return switch_ivr_parse_signal_data(session, SWITCH_TRUE, SWITCH_FALSE);
} }
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_next_signal_data(switch_core_session_t *session) { SWITCH_DECLARE(switch_status_t) switch_ivr_parse_next_signal_data(switch_core_session_t *session) {
return switch_ivr_parse_signal_data(session, SWITCH_FALSE); return switch_ivr_parse_signal_data(session, SWITCH_FALSE, SWITCH_FALSE);
} }
SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_events(switch_core_session_t *session) SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_events(switch_core_session_t *session)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论