mod_sofia: fix no audio when sdp change in 20OK after 183 Session In Progress

This commit is contained in:
Antonio Silva 2024-10-22 12:39:05 +01:00
parent 97cb6722ae
commit 85e2ca3b75
1 changed files with 6 additions and 0 deletions

View File

@ -8498,6 +8498,12 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
} }
break; break;
case nua_callstate_ready: case nua_callstate_ready:
/* sdp changed since 18X w sdp but is empty r_sdp*/
if (!r_sdp && sofia_test_flag(tech_pvt, TFLAG_NEW_SDP)) {
r_sdp = (const char *) switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE);
}
if (!switch_channel_test_flag(channel, CF_PROXY_MODE) && !switch_channel_test_flag(channel, CF_PROXY_MEDIA) && if (!switch_channel_test_flag(channel, CF_PROXY_MODE) && !switch_channel_test_flag(channel, CF_PROXY_MEDIA) &&
r_sdp && (!is_dup_sdp || sofia_test_flag(tech_pvt, TFLAG_NEW_SDP)) && switch_core_media_ready(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO) && !sofia_test_flag(tech_pvt, TFLAG_NOSDP_REINVITE)) { r_sdp && (!is_dup_sdp || sofia_test_flag(tech_pvt, TFLAG_NEW_SDP)) && switch_core_media_ready(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO) && !sofia_test_flag(tech_pvt, TFLAG_NOSDP_REINVITE)) {
/* sdp changed since 18X w sdp, we're supposed to ignore it but we, of course, were pressured into supporting it */ /* sdp changed since 18X w sdp, we're supposed to ignore it but we, of course, were pressured into supporting it */