Restore symmetric RTP setting if the ICE session gets deleted during a call.

This commit is contained in:
Ghislain MARY 2016-09-30 16:43:17 +02:00
parent 68b6f0b2f2
commit 0dee175561
3 changed files with 4 additions and 1 deletions

View file

@ -3602,7 +3602,7 @@ static void linphone_call_start_text_stream(LinphoneCall *call) {
}
}
static void linphone_call_set_symmetric_rtp(LinphoneCall *call, bool_t val){
void linphone_call_set_symmetric_rtp(LinphoneCall *call, bool_t val){
int i;
for (i = 0; i < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; ++i){
MSMediaStreamSessions *mss = &call->sessions[i];

View file

@ -1951,9 +1951,11 @@ void linphone_call_update_ice_from_remote_media_description(LinphoneCall *call,
} else {
/* Response from remote does not contain mandatory ICE attributes, delete the session. */
linphone_call_delete_ice_session(call);
linphone_call_set_symmetric_rtp(call, linphone_core_symmetric_rtp_enabled(linphone_call_get_core(call)));
return;
}
if (ice_session_nb_check_lists(call->ice_session) == 0) {
linphone_call_delete_ice_session(call);
linphone_call_set_symmetric_rtp(call, linphone_core_symmetric_rtp_enabled(linphone_call_get_core(call)));
}
}

View file

@ -381,6 +381,7 @@ void linphone_call_set_new_params(LinphoneCall *call, const LinphoneCallParams *
void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const char *message);
void linphone_call_set_contact_op(LinphoneCall* call);
void linphone_call_set_compatible_incoming_call_parameters(LinphoneCall *call, SalMediaDescription *md);
void linphone_call_set_symmetric_rtp(LinphoneCall *call, bool_t val);
/* private: */
LinphoneCallLog * linphone_call_log_new(LinphoneCallDir dir, LinphoneAddress *local, LinphoneAddress * remote);
void linphone_call_log_completed(LinphoneCall *call);