FS-5399 --resolve

This commit is contained in:
Anthony Minessale 2013-05-09 14:09:23 -05:00
parent 4f8faf9b78
commit 3fc8f7888a
2 changed files with 4 additions and 1 deletions

View File

@ -332,6 +332,7 @@ typedef enum {
TFLAG_INB_NOMEDIA, TFLAG_INB_NOMEDIA,
TFLAG_LATE_NEGOTIATION, TFLAG_LATE_NEGOTIATION,
TFLAG_SDP, TFLAG_SDP,
TFLAG_NEW_SDP,
TFLAG_VIDEO, TFLAG_VIDEO,
TFLAG_TPORT_LOG, TFLAG_TPORT_LOG,
TFLAG_SENT_UPDATE, TFLAG_SENT_UPDATE,

View File

@ -5704,6 +5704,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
sdp_parser_free(parser); sdp_parser_free(parser);
} }
sofia_glue_pass_sdp(tech_pvt, (char *) r_sdp); sofia_glue_pass_sdp(tech_pvt, (char *) r_sdp);
sofia_set_flag(tech_pvt, TFLAG_NEW_SDP);
} }
} }
} }
@ -6261,11 +6262,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:
if (r_sdp && !is_dup_sdp && switch_rtp_ready(tech_pvt->rtp_session) && !sofia_test_flag(tech_pvt, TFLAG_NOSDP_REINVITE)) { if (r_sdp && (!is_dup_sdp || sofia_test_flag(tech_pvt, TFLAG_NEW_SDP)) && switch_rtp_ready(tech_pvt->rtp_session) && !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 */
uint8_t match = 0; uint8_t match = 0;
sofia_set_flag_locked(tech_pvt, TFLAG_REINVITE); sofia_set_flag_locked(tech_pvt, TFLAG_REINVITE);
sofia_clear_flag(tech_pvt, TFLAG_NEW_SDP);
if (tech_pvt->num_codecs) { if (tech_pvt->num_codecs) {
match = sofia_glue_negotiate_sdp(session, r_sdp); match = sofia_glue_negotiate_sdp(session, r_sdp);