From 9572b8d5577c8768e3291f358a3972fe1975f048 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 27 Oct 2015 18:42:18 +0100 Subject: [PATCH 01/18] update linphone and belle-sip, don't use LinphoneCore.createDefaultCallParameters() anymore. --- custom_rules.xml | 1 + src/org/linphone/CallManager.java | 2 +- src/org/linphone/IncomingCallActivity.java | 2 +- src/org/linphone/LinphonePreferences.java | 3 +-- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/custom_rules.xml b/custom_rules.xml index a2c77ff6a..ae628ecd4 100644 --- a/custom_rules.xml +++ b/custom_rules.xml @@ -36,6 +36,7 @@ + diff --git a/src/org/linphone/CallManager.java b/src/org/linphone/CallManager.java index 319b238fa..189c25297 100644 --- a/src/org/linphone/CallManager.java +++ b/src/org/linphone/CallManager.java @@ -52,7 +52,7 @@ public class CallManager { public void inviteAddress(LinphoneAddress lAddress, boolean videoEnabled, boolean lowBandwidth) throws LinphoneCoreException { LinphoneCore lc = LinphoneManager.getLc(); - LinphoneCallParams params = lc.createDefaultCallParameters(); + LinphoneCallParams params = lc.createCallParams(null); bm().updateWithProfileSettings(lc, params); if (videoEnabled && params.getVideoEnabled()) { diff --git a/src/org/linphone/IncomingCallActivity.java b/src/org/linphone/IncomingCallActivity.java index 713c009d0..9eb0868b4 100644 --- a/src/org/linphone/IncomingCallActivity.java +++ b/src/org/linphone/IncomingCallActivity.java @@ -168,7 +168,7 @@ public class IncomingCallActivity extends Activity implements LinphoneSliderTrig } private void answer() { - LinphoneCallParams params = LinphoneManager.getLc().createDefaultCallParameters(); + LinphoneCallParams params = LinphoneManager.getLc().createCallParams(mCall); boolean isLowBandwidthConnection = !LinphoneUtils.isHighBandwidthConnection(this); if (isLowBandwidthConnection) { diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index a627312a1..f67b34fb4 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -1090,8 +1090,7 @@ public class LinphonePreferences { if(servers.length > 0) { tunnelConfig = servers[0]; } else { - tunnelConfig = new TunnelConfig(); - tunnelConfig.setDelay(500); + tunnelConfig = LinphoneCoreFactory.instance().createTunnelConfig(); } } return tunnelConfig; diff --git a/submodules/belle-sip b/submodules/belle-sip index 611b6c3b1..91ea725eb 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 611b6c3b1d237dc9fa4113c39c2f5f070235b783 +Subproject commit 91ea725ebd9ce931de6356235bf1b500aeaa86fa diff --git a/submodules/linphone b/submodules/linphone index 847f56bb4..c4cf58931 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 847f56bb4c91032c44335df53fb10bdb1001f8d6 +Subproject commit c4cf58931e7db458c5f2f9775f2bdb7a6d1b9f67 From 143e0bf7a734a4a5524332df182aad71b933cce0 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 29 Oct 2015 13:49:31 +0100 Subject: [PATCH 02/18] update linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index c4cf58931..ad29346e1 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit c4cf58931e7db458c5f2f9775f2bdb7a6d1b9f67 +Subproject commit ad29346e10addd4e5b1e3cf18dd2bc0546756f59 From f4818f8ca8b196dccab70fada89d0029411d26af Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Fri, 30 Oct 2015 14:05:16 +0100 Subject: [PATCH 03/18] Update strings --- res/values/strings.xml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 79d7eb968..e41d94ec9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -26,20 +26,22 @@ Welcome Assistant - Create a linphone account - I have a linphone account - I have a sip account - Remote provisioning - Create an account + Create account + Use Linphone account + Use SIP account + Fetch remote configuration + Create account 1/2 2/2 Display name (optional) - Configure linphohe account - Configure Sip account - Remote provisioning + Configure Linphone account + Configure SIP account + Fetch remote configuration Create account - Apply + Fetch and apply Echo canceller calibration in progress + Enter your login + Connection From 8370093c966d8ca6079f7b893a86504c6fdd7d54 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 29 Oct 2015 16:07:00 +0100 Subject: [PATCH 04/18] update linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index ad29346e1..9f2f6163d 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit ad29346e10addd4e5b1e3cf18dd2bc0546756f59 +Subproject commit 9f2f6163d0cdf8125af94c3719a8f49647d533b1 From 47b76b3d435d985308f8112880f5c8afa833e3ef Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Fri, 30 Oct 2015 11:19:16 +0100 Subject: [PATCH 05/18] Add restart linphone core method --- src/org/linphone/LinphoneManager.java | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index dcd1e3c3f..825215eff 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -566,9 +566,26 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } } - public void resetLinphoneCore(Context c){ - destroyLinphoneCore(c); - startLibLinphone(c); + public synchronized final void destroyLinphoneCore(Context c) { + sExited = true; + BluetoothManager.getInstance().destroy(); + try { + mTimer.cancel(); + mLc.destroy(); + } + catch (RuntimeException e) { + e.printStackTrace(); + } + finally { + mServiceContext.unregisterReceiver(instance.mKeepAliveReceiver); + mLc = null; + } + } + + public void restartLinphoneCore(Context context){ + destroyLinphoneCore(context); + startLibLinphone(context); + sExited = true; } private synchronized void startLibLinphone(Context c) { From 6a19035397405a2bea7a56821429ae4a994f82cc Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 30 Oct 2015 15:00:41 +0100 Subject: [PATCH 06/18] fix restartLinphoneCore() --- src/org/linphone/LinphoneManager.java | 9 ++++----- .../linphone/assistant/RemoteProvisioningActivity.java | 6 +----- submodules/linphone | 2 +- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 825215eff..34463bb62 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -566,7 +566,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } } - public synchronized final void destroyLinphoneCore(Context c) { + public synchronized final void destroyLinphoneCore() { sExited = true; BluetoothManager.getInstance().destroy(); try { @@ -582,10 +582,9 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } } - public void restartLinphoneCore(Context context){ - destroyLinphoneCore(context); - startLibLinphone(context); - sExited = true; + public void restartLinphoneCore(){ + destroyLinphoneCore(); + startLibLinphone(mServiceContext); } private synchronized void startLibLinphone(Context c) { diff --git a/src/org/linphone/assistant/RemoteProvisioningActivity.java b/src/org/linphone/assistant/RemoteProvisioningActivity.java index 70f3b3b08..164115a57 100644 --- a/src/org/linphone/assistant/RemoteProvisioningActivity.java +++ b/src/org/linphone/assistant/RemoteProvisioningActivity.java @@ -183,11 +183,7 @@ public class RemoteProvisioningActivity extends Activity { mHandler.postDelayed(new Runnable() { @Override public void run() { - LinphoneManager.destroy(); - stopService(new Intent(ACTION_MAIN).setClass(RemoteProvisioningActivity.this, LinphoneService.class)); - Intent intent = new Intent(); - intent.setClass(RemoteProvisioningActivity.this, LinphoneLauncherActivity.class); - startActivity(intent); + LinphoneManager.getInstance().restartLinphoneCore(); } }, 1000); } diff --git a/submodules/linphone b/submodules/linphone index 9f2f6163d..f06140d07 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 9f2f6163d0cdf8125af94c3719a8f49647d533b1 +Subproject commit f06140d0758a409a70070aa2bd6f31086613cf1d From c54a77a7628fe689fc69782475d453c0c4665cb7 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 30 Oct 2015 15:05:25 +0100 Subject: [PATCH 07/18] set sExited = false after restarting --- src/org/linphone/LinphoneManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 34463bb62..f5583fad8 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -585,6 +585,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag public void restartLinphoneCore(){ destroyLinphoneCore(); startLibLinphone(mServiceContext); + sExited = false; } private synchronized void startLibLinphone(Context c) { From bd62a1c53eaff494980751007f1344adcedf7ccb Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 30 Oct 2015 15:47:15 +0100 Subject: [PATCH 08/18] fix remote provisioning stuff --- src/org/linphone/LinphoneManager.java | 13 +++++++------ src/org/linphone/LinphonePreferences.java | 7 ++----- submodules/linphone | 2 +- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index f5583fad8..cfda7c550 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -598,12 +598,6 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag mLc = LinphoneCoreFactory.instance().createLinphoneCore(this, mLinphoneConfigFile, mLinphoneFactoryConfigFile, null, c); - try { - initLiblinphone(); - } catch (LinphoneCoreException e) { - Log.e(e); - } - TimerTask lTask = new TimerTask() { @Override public void run() { @@ -899,6 +893,13 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag public void globalState(final LinphoneCore lc, final GlobalState state, final String message) { Log.i("New global state [",state,"]"); + if (state == GlobalState.GlobalOn){ + try { + initLiblinphone(); + } catch (LinphoneCoreException e) { + Log.e(e); + } + } } public void registrationState(final LinphoneCore lc, final LinphoneProxyConfig proxy,final RegistrationState state,final String message) { diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index ee73d6ee0..647ae1882 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -1050,14 +1050,11 @@ public class LinphonePreferences { if (url != null && url.length() == 0) { url = null; } - - LpConfig config = getConfig(); - config.setString("misc", "config-uri", url); - config.sync(); + getLc().setProvisioningUri(url); } public String getRemoteProvisioningUrl() { - return getConfig().getString("misc", "config-uri", null); + return getLc().getProvisioningUri(); } public void setDefaultDisplayName(String displayName) { diff --git a/submodules/linphone b/submodules/linphone index f06140d07..d94a20367 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f06140d0758a409a70070aa2bd6f31086613cf1d +Subproject commit d94a20367fca31e882632d6b44d354ee4efea62f From c26c0f43159dd7d5835023167626e0261cf8bdd8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 30 Oct 2015 16:52:38 +0100 Subject: [PATCH 09/18] update polarssl and linphone in order to fix SRTP-DTLS interoperability issues --- submodules/externals/polarssl | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/externals/polarssl b/submodules/externals/polarssl index ab2f403a3..919006f5f 160000 --- a/submodules/externals/polarssl +++ b/submodules/externals/polarssl @@ -1 +1 @@ -Subproject commit ab2f403a3e0ec91257f0e943129c0eec272f34e8 +Subproject commit 919006f5f33febe72205078a125fae811b12a3d6 diff --git a/submodules/linphone b/submodules/linphone index d94a20367..5948c2e97 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d94a20367fca31e882632d6b44d354ee4efea62f +Subproject commit 5948c2e9730aceccf0e854fad593ab8916e35584 From d6c87d61a2ba7e699f5b0b0ba0ddf9e062ad9b82 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 30 Oct 2015 18:05:34 +0100 Subject: [PATCH 10/18] fix crash in tester --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 5948c2e97..933a75d87 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 5948c2e9730aceccf0e854fad593ab8916e35584 +Subproject commit 933a75d8734338aa52bf4da7356bd1390eea4b58 From 104668cd4dd9022e24a0a74e4e077e3fa0059643 Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Mon, 2 Nov 2015 17:15:15 +0100 Subject: [PATCH 11/18] Add fetch remote provisioning with xmlrpc --- res/layout/assistant_linphone_login.xml | 2 +- res/layout/assistant_login.xml | 2 +- res/layout/assistant_remote_provisioning.xml | 6 +- .../assistant_remote_provisioning_login.xml | 188 ++-- res/values/strings.xml | 1 + src/org/linphone/LinphonePreferences.java | 6 +- .../linphone/assistant/AssistantActivity.java | 4 +- .../assistant/RemoteProvisioningActivity.java | 67 +- .../assistant/RemoteProvisioningFragment.java | 12 +- .../RemoteProvisioningLoginActivity.java | 79 +- src/org/linphone/xmlrpc/XmlRpcHelper.java | 884 ++++++++++++++++++ src/org/linphone/xmlrpc/XmlRpcListener.java | 19 + .../linphone/xmlrpc/XmlRpcListenerBase.java | 93 ++ 13 files changed, 1220 insertions(+), 143 deletions(-) create mode 100644 src/org/linphone/xmlrpc/XmlRpcHelper.java create mode 100644 src/org/linphone/xmlrpc/XmlRpcListener.java create mode 100644 src/org/linphone/xmlrpc/XmlRpcListenerBase.java diff --git a/res/layout/assistant_linphone_login.xml b/res/layout/assistant_linphone_login.xml index bbe5d2c3b..d1b5facff 100644 --- a/res/layout/assistant_linphone_login.xml +++ b/res/layout/assistant_linphone_login.xml @@ -85,7 +85,7 @@