forked from mirrors/linphone-iphone
preserve media encryption mode for zrtp in case of re-invite initiated by ice
This commit is contained in:
parent
43aa6ef34f
commit
471314ee1a
4 changed files with 13 additions and 7 deletions
|
|
@ -2639,11 +2639,17 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
|
|||
int ping_time;
|
||||
|
||||
if (evt == ORTP_EVENT_ICE_SESSION_PROCESSING_FINISHED) {
|
||||
LinphoneCallParams params;
|
||||
_linphone_call_params_copy(¶ms,&call->current_params);
|
||||
if (call->params.media_encryption == LinphoneMediaEncryptionZRTP) {
|
||||
/* preserve media encryption param because at that time ZRTP negociation may still be ongoing*/
|
||||
params.media_encryption=call->params.media_encryption;
|
||||
}
|
||||
switch (ice_session_state(call->ice_session)) {
|
||||
case IS_Completed:
|
||||
ice_session_select_candidates(call->ice_session);
|
||||
if (ice_session_role(call->ice_session) == IR_Controlling) {
|
||||
linphone_core_update_call(call->core, call, &call->current_params);
|
||||
linphone_core_update_call(call->core, call, ¶ms);
|
||||
}
|
||||
break;
|
||||
case IS_Failed:
|
||||
|
|
@ -2651,7 +2657,7 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
|
|||
ice_session_select_candidates(call->ice_session);
|
||||
if (ice_session_role(call->ice_session) == IR_Controlling) {
|
||||
/* At least one ICE session has succeeded, so perform a call update. */
|
||||
linphone_core_update_call(call->core, call, &call->current_params);
|
||||
linphone_core_update_call(call->core, call, ¶ms);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 5363f6d6487f44c0fa898647b7b859857db13283
|
||||
Subproject commit 86110766b0cfbd0ecfd4ab853715e0c3d681385b
|
||||
2
oRTP
2
oRTP
|
|
@ -1 +1 @@
|
|||
Subproject commit 891f3da6817e30b606493840f305250f81a254bd
|
||||
Subproject commit c09e63ddba599a7f7da149edf6f7b290f4cfa787
|
||||
|
|
@ -1312,13 +1312,13 @@ static void srtp_ice_call(void) {
|
|||
call_base(LinphoneMediaEncryptionSRTP,FALSE,FALSE,LinphonePolicyUseIce);
|
||||
}
|
||||
static void zrtp_video_ice_call(void) {
|
||||
/*encrypted_ice_call(LinphoneMediaEncryptionZRTP,TRUE,FALSE);*/
|
||||
call_base(LinphoneMediaEncryptionZRTP,TRUE,FALSE,LinphonePolicyUseIce);
|
||||
}
|
||||
static void zrtp_ice_call(void) {
|
||||
/*encrypted_ice_call(LinphoneMediaEncryptionZRTP,FALSE,FALSE);*/
|
||||
call_base(LinphoneMediaEncryptionZRTP,FALSE,FALSE,LinphonePolicyUseIce);
|
||||
}
|
||||
static void zrtp_ice_call_with_relay(void) {
|
||||
/*encrypted_ice_call(LinphoneMediaEncryptionZRTP,FALSE,TRUE);*/
|
||||
call_base(LinphoneMediaEncryptionZRTP,FALSE,TRUE,LinphonePolicyUseIce);
|
||||
}
|
||||
|
||||
static void early_media_call(void) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue