Fix outbound proxy issue + fixed tester
This commit is contained in:
parent
d6de11a800
commit
3d35278366
3 changed files with 20 additions and 16 deletions
|
@ -166,13 +166,14 @@ public class LinphonePreferences {
|
||||||
String proxy = "sip:";
|
String proxy = "sip:";
|
||||||
proxy += tempProxy == null ? tempDomain : tempProxy;
|
proxy += tempProxy == null ? tempDomain : tempProxy;
|
||||||
LinphoneAddress proxyAddr = LinphoneCoreFactory.instance().createLinphoneAddress(proxy);
|
LinphoneAddress proxyAddr = LinphoneCoreFactory.instance().createLinphoneAddress(proxy);
|
||||||
String route = tempOutboundProxy ? tempProxy : null;
|
|
||||||
|
|
||||||
if (tempTransport == null) {
|
if (tempTransport == null) {
|
||||||
tempTransport = TransportType.LinphoneTransportUdp;
|
tempTransport = TransportType.LinphoneTransportUdp;
|
||||||
}
|
}
|
||||||
proxyAddr.setTransport(tempTransport);
|
proxyAddr.setTransport(tempTransport);
|
||||||
|
|
||||||
|
String route = tempOutboundProxy ? proxyAddr.asStringUriOnly() : null;
|
||||||
|
|
||||||
LinphoneProxyConfig prxCfg = LinphoneCoreFactory.instance().createProxyConfig(identity, proxyAddr.asStringUriOnly(), route, true);
|
LinphoneProxyConfig prxCfg = LinphoneCoreFactory.instance().createProxyConfig(identity, proxyAddr.asStringUriOnly(), route, true);
|
||||||
if (tempContactsParams != null)
|
if (tempContactsParams != null)
|
||||||
prxCfg.setContactUriParameters(tempContactsParams);
|
prxCfg.setContactUriParameters(tempContactsParams);
|
||||||
|
|
|
@ -59,11 +59,11 @@ public class AccountAssistant extends SampleTest {
|
||||||
String stunServer = prefs.getStunServer();
|
String stunServer = prefs.getStunServer();
|
||||||
Assert.assertEquals(aContext.getString(org.linphone.R.string.default_stun), stunServer);
|
Assert.assertEquals(aContext.getString(org.linphone.R.string.default_stun), stunServer);
|
||||||
|
|
||||||
String transport = prefs.getTransportKey();
|
String transport = prefs.getAccountTransportKey(0);
|
||||||
Assert.assertEquals(aContext.getString(org.linphone.R.string.pref_transport_tls_key), transport);
|
Assert.assertEquals(aContext.getString(org.linphone.R.string.pref_transport_tls_key), transport);
|
||||||
|
|
||||||
String proxy = prefs.getAccountProxy(0);
|
String proxy = prefs.getAccountProxy(0);
|
||||||
Assert.assertEquals(aContext.getString(org.linphone.R.string.default_domain) + ":5223", proxy);
|
Assert.assertEquals("<sip:" + aContext.getString(org.linphone.R.string.default_domain) + ":5223;transport=tls>", proxy);
|
||||||
Assert.assertEquals(true, prefs.isAccountOutboundProxySet(0));
|
Assert.assertEquals(true, prefs.isAccountOutboundProxySet(0));
|
||||||
|
|
||||||
boolean ice = prefs.isIceEnabled();
|
boolean ice = prefs.isIceEnabled();
|
||||||
|
|
|
@ -8,6 +8,7 @@ import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneManager.LinphoneConfigException;
|
import org.linphone.LinphoneManager.LinphoneConfigException;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.core.LinphoneAddress;
|
import org.linphone.core.LinphoneAddress;
|
||||||
|
import org.linphone.core.LinphoneAddress.TransportType;
|
||||||
import org.linphone.core.LinphoneAuthInfo;
|
import org.linphone.core.LinphoneAuthInfo;
|
||||||
import org.linphone.core.LinphoneCall;
|
import org.linphone.core.LinphoneCall;
|
||||||
import org.linphone.core.LinphoneCall.State;
|
import org.linphone.core.LinphoneCall.State;
|
||||||
|
@ -33,8 +34,6 @@ import org.linphone.core.PayloadType;
|
||||||
import org.linphone.core.PublishState;
|
import org.linphone.core.PublishState;
|
||||||
import org.linphone.core.SubscriptionState;
|
import org.linphone.core.SubscriptionState;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.mediastream.Version;
|
|
||||||
import org.linphone.mediastream.video.capture.AndroidVideoApi5JniWrapper;
|
|
||||||
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
||||||
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration.AndroidCamera;
|
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration.AndroidCamera;
|
||||||
|
|
||||||
|
@ -45,7 +44,7 @@ import android.telephony.TelephonyManager;
|
||||||
public class LinphoneTestManager implements LinphoneCoreListener {
|
public class LinphoneTestManager implements LinphoneCoreListener {
|
||||||
|
|
||||||
private static LinphoneTestManager instance;
|
private static LinphoneTestManager instance;
|
||||||
private Context mAContext, mIContext;
|
private Context mIContext;
|
||||||
private LinphoneCore mLc1, mLc2;
|
private LinphoneCore mLc1, mLc2;
|
||||||
|
|
||||||
public String lastMessageReceived;
|
public String lastMessageReceived;
|
||||||
|
@ -53,12 +52,14 @@ public class LinphoneTestManager implements LinphoneCoreListener {
|
||||||
public boolean autoAnswer = true;
|
public boolean autoAnswer = true;
|
||||||
public boolean declineCall = false;
|
public boolean declineCall = false;
|
||||||
|
|
||||||
|
private final String linphoneRootCaFile;
|
||||||
|
|
||||||
private Timer mTimer1 = new Timer("Linphone scheduler 1");
|
private Timer mTimer1 = new Timer("Linphone scheduler 1");
|
||||||
private Timer mTimer2 = new Timer("Linphone scheduler 2");
|
private Timer mTimer2 = new Timer("Linphone scheduler 2");
|
||||||
|
|
||||||
private LinphoneTestManager(Context ac, Context ic) {
|
private LinphoneTestManager(Context ac, Context ic) {
|
||||||
mIContext = ic;
|
mIContext = ic;
|
||||||
mAContext = ac;
|
linphoneRootCaFile = ac.getFilesDir().getAbsolutePath() + "/rootca.pem";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LinphoneTestManager createAndStart(Context ac, Context ic, int id) {
|
public static LinphoneTestManager createAndStart(Context ac, Context ic, int id) {
|
||||||
|
@ -97,11 +98,17 @@ public class LinphoneTestManager implements LinphoneCoreListener {
|
||||||
|
|
||||||
mLc.enableIpv6(false);
|
mLc.enableIpv6(false);
|
||||||
mLc.setRing(null);
|
mLc.setRing(null);
|
||||||
|
mLc.setRootCA(linphoneRootCaFile);
|
||||||
|
|
||||||
int availableCores = Runtime.getRuntime().availableProcessors();
|
int availableCores = Runtime.getRuntime().availableProcessors();
|
||||||
Log.w("MediaStreamer : " + availableCores + " cores detected and configured");
|
Log.w("MediaStreamer : " + availableCores + " cores detected and configured");
|
||||||
mLc.setCpuCount(availableCores);
|
mLc.setCpuCount(availableCores);
|
||||||
|
|
||||||
|
Transports t = mLc.getSignalingTransportPorts();
|
||||||
|
t.udp = -1;
|
||||||
|
t.tcp = -1;
|
||||||
|
mLc.setSignalingTransportPorts(t);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
initFromConf(mLc);
|
initFromConf(mLc);
|
||||||
} catch (LinphoneException e) {
|
} catch (LinphoneException e) {
|
||||||
|
@ -142,13 +149,6 @@ public class LinphoneTestManager implements LinphoneCoreListener {
|
||||||
public void initFromConf(LinphoneCore mLc) throws LinphoneConfigException, LinphoneCoreException {
|
public void initFromConf(LinphoneCore mLc) throws LinphoneConfigException, LinphoneCoreException {
|
||||||
LinphoneCoreFactory.instance().setDebugMode(true, "LinphoneTester");
|
LinphoneCoreFactory.instance().setDebugMode(true, "LinphoneTester");
|
||||||
|
|
||||||
// Use TCP with Random port
|
|
||||||
Transports transports = getLc().getSignalingTransportPorts();
|
|
||||||
transports.tcp = -1;
|
|
||||||
transports.udp = 0;
|
|
||||||
transports.tls = 0;
|
|
||||||
mLc.setSignalingTransportPorts(transports);
|
|
||||||
|
|
||||||
initAccounts(mLc);
|
initAccounts(mLc);
|
||||||
|
|
||||||
mLc.setVideoPolicy(true, true);
|
mLc.setVideoPolicy(true, true);
|
||||||
|
@ -175,7 +175,7 @@ public class LinphoneTestManager implements LinphoneCoreListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
void initMediaEncryption(LinphoneCore mLc){
|
void initMediaEncryption(LinphoneCore mLc){
|
||||||
MediaEncryption me=MediaEncryption.None;
|
MediaEncryption me = MediaEncryption.None;
|
||||||
mLc.setMediaEncryption(me);
|
mLc.setMediaEncryption(me);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,11 +193,14 @@ public class LinphoneTestManager implements LinphoneCoreListener {
|
||||||
password = mIContext.getString(org.linphone.test.R.string.conference_account_password);
|
password = mIContext.getString(org.linphone.test.R.string.conference_account_password);
|
||||||
domain = mIContext.getString(org.linphone.test.R.string.conference_account_domain);
|
domain = mIContext.getString(org.linphone.test.R.string.conference_account_domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null, domain);
|
LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null, domain);
|
||||||
mLc.addAuthInfo(lAuthInfo);
|
mLc.addAuthInfo(lAuthInfo);
|
||||||
String identity = "sip:" + username +"@" + domain;
|
String identity = "sip:" + username +"@" + domain;
|
||||||
String proxy = "sip:" + domain;
|
String proxy = "sip:" + domain;
|
||||||
LinphoneProxyConfig proxycon = LinphoneCoreFactory.instance().createProxyConfig(identity, proxy, null, true);
|
LinphoneAddress proxyAddr = LinphoneCoreFactory.instance().createLinphoneAddress(proxy);
|
||||||
|
proxyAddr.setTransport(TransportType.LinphoneTransportTls);
|
||||||
|
LinphoneProxyConfig proxycon = LinphoneCoreFactory.instance().createProxyConfig(identity, proxyAddr.asStringUriOnly(), proxyAddr.asStringUriOnly(), true);
|
||||||
mLc.addProxyConfig(proxycon);
|
mLc.addProxyConfig(proxycon);
|
||||||
mLc.setDefaultProxyConfig(proxycon);
|
mLc.setDefaultProxyConfig(proxycon);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue