Commit df347a97 authored by Ghislain MARY's avatar Ghislain MARY
Browse files

Handle case where ICE is activated and the configured STUN server do not reply.

parent 3cca370e
......@@ -692,17 +692,25 @@ void linphone_core_gather_ice_candidates(LinphoneCore *lc, LinphoneCall *call)
} while (!((audio_gatherings[0].response == TRUE) && (audio_gatherings[1].response == TRUE)
&& (!call->params.has_video || ((video_gatherings[0].response == TRUE) && (video_gatherings[1].response == TRUE)))));
ice_session_compute_candidates_foundations(ice_session);
ice_session_eliminate_redundant_candidates(ice_session);
ice_session_choose_default_candidates(ice_session);
if ((audio_gatherings[0].response == FALSE) || (audio_gatherings[1].response == FALSE)
|| (call->params.has_video && ((video_gatherings[0].response == FALSE) || (video_gatherings[1].response == FALSE)))) {
/* Failed some STUN checks, deactivate ICE. */
ice_session_destroy(ice_session);
ice_session = NULL;
sal_op_set_ice_session(call->op, ice_session);
} else {
ice_session_compute_candidates_foundations(ice_session);
ice_session_eliminate_redundant_candidates(ice_session);
ice_session_choose_default_candidates(ice_session);
}
close_socket(audio_gatherings[0].sock);
close_socket(audio_gatherings[1].sock);
ice_dump_candidates(audio_check_list);
if (ice_session != NULL) ice_dump_candidates(audio_check_list);
if (call->params.has_video && (video_check_list != NULL)) {
if (video_gatherings[0].sock != -1) close_socket(video_gatherings[0].sock);
if (video_gatherings[1].sock != -1) close_socket(video_gatherings[1].sock);
ice_dump_candidates(video_check_list);
if (ice_session != NULL) ice_dump_candidates(video_check_list);
}
}
......
......@@ -373,7 +373,7 @@ static void add_line(sdp_message_t *msg, int lineno, const SalStreamDescription
}
/*only add a c= line within the stream description if address are differents*/
if (strcmp(rtp_addr,sdp_message_c_addr_get(msg, -1, 0))!=0){
if (rtp_addr[0]!='\0' && strcmp(rtp_addr,sdp_message_c_addr_get(msg, -1, 0))!=0){
bool_t inet6;
if (strchr(rtp_addr,':')!=NULL){
inet6=TRUE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment