don't parse events for b legs from a leg thread in case they are using a monolothic python script as a group_confirm exec over socket to send it messages while the call is ringing

This commit is contained in:
Anthony Minessale 2010-11-29 15:34:27 -06:00
parent 9a25519496
commit ed5266d3ca
1 changed files with 9 additions and 2 deletions

View File

@ -635,8 +635,15 @@ static uint8_t check_channel_status(originate_global_t *oglobals, originate_stat
}
}
}
switch_ivr_parse_all_events(originate_status[i].peer_session);
if (!switch_channel_test_flag(originate_status[i].peer_channel, CF_PARK) &&
!switch_channel_test_flag(originate_status[i].peer_channel, CF_CONSUME_ON_ORIGINATE)) {
if (switch_channel_test_flag(originate_status[i].peer_channel, CF_THREAD_SLEEPING)) {
switch_core_session_wake_session_thread(originate_status[i].peer_session);
} else {
switch_ivr_parse_all_events(originate_status[i].peer_session);
}
}
state = switch_channel_get_state(originate_status[i].peer_channel);
if (state >= CS_HANGUP || state == CS_RESET || switch_channel_test_flag(originate_status[i].peer_channel, CF_TRANSFER) ||