forked from Mirrors/freeswitch
MODAPP-226
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12466 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
fd721e67a4
commit
093d867d89
@ -1563,7 +1563,7 @@ static void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, v
|
||||
|
||||
while (switch_test_flag(member, MFLAG_RUNNING) && switch_channel_ready(channel)) {
|
||||
|
||||
if (switch_channel_test_flag(channel, CF_SERVICE)) {
|
||||
if (switch_channel_test_app_flag(channel, CF_APP_TAGGED)) {
|
||||
switch_yield(100000);
|
||||
continue;
|
||||
}
|
||||
@ -1878,7 +1878,7 @@ static void conference_loop_output(conference_member_t *member)
|
||||
}
|
||||
|
||||
if (restarting) {
|
||||
switch_channel_clear_flag(channel, CF_SERVICE);
|
||||
switch_channel_clear_app_flag(channel, CF_APP_TAGGED);
|
||||
}
|
||||
|
||||
/* Fair WARNING, If you expect the caller to hear anything or for digit handling to be processed, */
|
||||
@ -2094,9 +2094,9 @@ static void conference_loop_output(conference_member_t *member)
|
||||
|
||||
|
||||
if (switch_core_session_private_event_count(member->session)) {
|
||||
switch_channel_set_flag(channel, CF_SERVICE);
|
||||
switch_channel_set_app_flag(channel, CF_APP_TAGGED);
|
||||
switch_ivr_parse_all_events(member->session);
|
||||
switch_channel_clear_flag(channel, CF_SERVICE);
|
||||
switch_channel_clear_app_flag(channel, CF_APP_TAGGED);
|
||||
switch_set_flag_locked(member, MFLAG_FLUSH_BUFFER);
|
||||
switch_core_session_set_read_codec(member->session, &member->read_codec);
|
||||
}
|
||||
@ -3697,7 +3697,7 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc
|
||||
if (setup_media(member, new_conference)) {
|
||||
switch_clear_flag_locked(member, MFLAG_RUNNING);
|
||||
} else {
|
||||
switch_channel_set_flag(channel, CF_SERVICE);
|
||||
switch_channel_set_app_flag(channel, CF_APP_TAGGED);
|
||||
switch_set_flag_locked(member, MFLAG_RESTART);
|
||||
}
|
||||
}
|
||||
|
@ -975,9 +975,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
|
||||
switch_ivr_parse_all_events(session);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (eff_timeout) {
|
||||
digit_elapsed = (uint32_t) ((switch_micro_time_now() - digit_started) / 1000);
|
||||
|
||||
if (digit_elapsed >= eff_timeout) {
|
||||
status = SWITCH_STATUS_TIMEOUT;
|
||||
break;
|
||||
@ -987,7 +988,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
|
||||
if (switch_channel_has_dtmf(channel)) {
|
||||
switch_dtmf_t dtmf = { 0 };
|
||||
switch_size_t y;
|
||||
|
||||
|
||||
if (eff_timeout) {
|
||||
eff_timeout = digit_timeout;
|
||||
digit_started = switch_micro_time_now();
|
||||
@ -1006,6 +1007,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
|
||||
|
||||
buf[x++] = dtmf.digit;
|
||||
buf[x] = '\0';
|
||||
|
||||
if (x >= buflen || x >= maxdigits) {
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user