From 983956947e340bd2a6c83762c5060071f73543ed Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 30 Aug 2016 16:07:05 +0200 Subject: [PATCH] Fixed some issues when edition TURN/STUN credentials --- src/org/linphone/LinphonePreferences.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index d93202d2c..d4897e5b5 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -1011,20 +1011,30 @@ public class LinphonePreferences { public void setTurnUsername(String username) { LinphoneNatPolicy nat = getOrCreateNatPolicy(); LinphoneAuthInfo authInfo = getLc().findAuthInfo(nat.getStunServerUsername(), null, null); + if (authInfo != null) { - authInfo.setUsername(username); + LinphoneAuthInfo cloneAuthInfo = authInfo.clone(); + getLc().removeAuthInfo(authInfo); + cloneAuthInfo.setUsername(username); + cloneAuthInfo.setUserId(username); + getLc().addAuthInfo(cloneAuthInfo); } else { authInfo = LinphoneCoreFactory.instance().createAuthInfo(username, username, null, null, null, null); getLc().addAuthInfo(authInfo); } nat.setStunServerUsername(username); + getLc().setNatPolicy(nat); } public void setTurnPassword(String password) { LinphoneNatPolicy nat = getOrCreateNatPolicy(); LinphoneAuthInfo authInfo = getLc().findAuthInfo(nat.getStunServerUsername(), null, null); + if (authInfo != null) { - authInfo.setPassword(password); + LinphoneAuthInfo cloneAuthInfo = authInfo.clone(); + getLc().removeAuthInfo(authInfo); + cloneAuthInfo.setPassword(password); + getLc().addAuthInfo(cloneAuthInfo); } else { authInfo = LinphoneCoreFactory.instance().createAuthInfo(nat.getStunServerUsername(), nat.getStunServerUsername(), password, null, null, null); getLc().addAuthInfo(authInfo);