fix races in bypass media regarding channel signalling that may cause answer to be skipped

This commit is contained in:
Anthony Minessale
2011-08-19 16:25:26 -05:00
parent 5dd9b7218a
commit d43af04e93
8 changed files with 53 additions and 31 deletions
+1 -3
View File
@@ -1257,9 +1257,7 @@ void sofia_event_callback(nua_event_t event,
if (!zstr(sofia_private->uuid)) {
if ((session = switch_core_session_locate(sofia_private->uuid))) {
switch_channel_t *channel = switch_core_session_get_channel(session);
if (switch_core_session_running(session) && !switch_channel_test_flag(channel, CF_PROXY_MODE)) {
if (switch_core_session_running(session)) {
switch_core_session_queue_signal_data(session, de);
} else {
switch_core_session_message_t msg = { 0 };