forked from Mirrors/freeswitch
FSCORE-432
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14797 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
d6217925b8
commit
56a8eb4091
@ -3140,7 +3140,12 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status
|
||||
msg.pointer_arg = switch_core_session_strdup(other_session, r_sdp);
|
||||
msg.pointer_arg_size = strlen(r_sdp);
|
||||
}
|
||||
if (switch_core_session_receive_message(other_session, &msg) != SWITCH_STATUS_SUCCESS) {
|
||||
|
||||
switch_mutex_unlock(tech_pvt->sofia_mutex);
|
||||
status = switch_core_session_receive_message(other_session, &msg);
|
||||
switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||
|
||||
if (status != SWITCH_STATUS_SUCCESS) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Other leg is not available\n");
|
||||
nua_respond(tech_pvt->nh, 403, "Hangup in progress", TAG_END());
|
||||
}
|
||||
@ -3398,7 +3403,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_core_session_message_t msg;
|
||||
msg.message_id = SWITCH_MESSAGE_INDICATE_RINGING;
|
||||
msg.from = __FILE__;
|
||||
switch_mutex_unlock(tech_pvt->sofia_mutex);
|
||||
switch_core_session_receive_message(other_session, &msg);
|
||||
switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||
switch_core_session_rwunlock(other_session);
|
||||
}
|
||||
|
||||
@ -3660,8 +3667,11 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_channel_presence(tech_pvt->channel, "unknown", "hold", NULL);
|
||||
}
|
||||
|
||||
switch_mutex_unlock(tech_pvt->sofia_mutex);
|
||||
status = switch_core_session_receive_message(other_session, &msg);
|
||||
switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||
|
||||
if (switch_core_session_receive_message(other_session, &msg) != SWITCH_STATUS_SUCCESS) {
|
||||
if (status != SWITCH_STATUS_SUCCESS) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Other leg is not available\n");
|
||||
nua_respond(tech_pvt->nh, 403, "Hangup in progress", TAG_END());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user