if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
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_mutex_lock(tech_pvt->sofia_mutex);
switch_core_session_rwunlock(other_session);
}
goto done;
if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))
&& (other_session = switch_core_session_locate(uuid))) {
other_channel = switch_core_session_get_channel(other_session);
+ switch_mutex_unlock(tech_pvt->sofia_mutex);
switch_channel_answer(other_channel);
+ switch_mutex_lock(tech_pvt->sofia_mutex);
switch_core_session_rwunlock(other_session);
}
}
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
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_mutex_lock(tech_pvt->sofia_mutex);
switch_core_session_rwunlock(other_session);
}
goto done;