mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-15 16:39:14 +00:00
FS-2801
This commit is contained in:
parent
3a3c5d261f
commit
6737ae52d9
@ -4684,7 +4684,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
|||||||
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
|
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
|
||||||
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, r_sdp);
|
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, r_sdp);
|
||||||
}
|
}
|
||||||
|
switch_mutex_unlock(tech_pvt->sofia_mutex);
|
||||||
switch_channel_pre_answer(other_channel);
|
switch_channel_pre_answer(other_channel);
|
||||||
|
switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||||
switch_core_session_rwunlock(other_session);
|
switch_core_session_rwunlock(other_session);
|
||||||
}
|
}
|
||||||
goto done;
|
goto done;
|
||||||
@ -5112,7 +5114,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
|||||||
if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))
|
if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))
|
||||||
&& (other_session = switch_core_session_locate(uuid))) {
|
&& (other_session = switch_core_session_locate(uuid))) {
|
||||||
other_channel = switch_core_session_get_channel(other_session);
|
other_channel = switch_core_session_get_channel(other_session);
|
||||||
|
switch_mutex_unlock(tech_pvt->sofia_mutex);
|
||||||
switch_channel_answer(other_channel);
|
switch_channel_answer(other_channel);
|
||||||
|
switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||||
switch_core_session_rwunlock(other_session);
|
switch_core_session_rwunlock(other_session);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5141,7 +5145,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
|||||||
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
|
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
|
||||||
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, r_sdp);
|
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, r_sdp);
|
||||||
}
|
}
|
||||||
|
switch_mutex_unlock(tech_pvt->sofia_mutex);
|
||||||
switch_channel_answer(other_channel);
|
switch_channel_answer(other_channel);
|
||||||
|
switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||||
switch_core_session_rwunlock(other_session);
|
switch_core_session_rwunlock(other_session);
|
||||||
}
|
}
|
||||||
goto done;
|
goto done;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user