diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m
index b1adb6f96..22111305f 100644
--- a/Classes/LinphoneUI/LinphoneManager.m
+++ b/Classes/LinphoneUI/LinphoneManager.m
@@ -381,6 +381,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
else {
linphone_core_disable_logs();
}
+
+ NSBundle* myBundle = [NSBundle mainBundle];
+
+ const char* lRootCa = [[myBundle pathForResource:@"rootca"ofType:@"pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
+ linphone_core_set_root_ca(theLinphoneCore, lRootCa);
+
NSString* transport = [[NSUserDefaults standardUserDefaults] stringForKey:@"transport_preference"];
@@ -393,9 +399,15 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
if ([transport isEqualToString:@"tcp"]) {
if (transportValue.tcp_port == 0) transportValue.tcp_port=transportValue.udp_port;
transportValue.udp_port=0;
+ transportValue.tls_port=0;
} else if ([transport isEqualToString:@"udp"]){
if (transportValue.udp_port == 0) transportValue.udp_port=transportValue.tcp_port;
transportValue.tcp_port=0;
+ transportValue.tls_port=0;
+ } else if ([transport isEqualToString:@"tls"]){
+ if (transportValue.tls_port == 0) transportValue.tls_port=transportValue.udp_port;
+ transportValue.tcp_port=0;
+ transportValue.udp_port=0;
} else {
ms_error("unexpected trasnport [%s]",[transport cStringUsingEncoding:[NSString defaultCStringEncoding]]);
}
@@ -404,17 +416,14 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
}
}
-
-
-
+
+
// Set audio assets
- NSBundle* myBundle = [NSBundle mainBundle];
const char* lRing = [[myBundle pathForResource:@"oldphone-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
linphone_core_set_ring(theLinphoneCore, lRing );
const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
linphone_core_set_ringback(theLinphoneCore, lRingBack);
-
-
+
//configure sip account
@@ -452,7 +461,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
//possible valid config detected
LinphoneProxyConfig* proxyCfg;
proxyCfg = linphone_proxy_config_new();
-
+
// add username password
LinphoneAddress *from = linphone_address_new(identity);
LinphoneAuthInfo *info;
diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist
index a1b42969d..956a67660 100644
--- a/Settings.bundle/Root.plist
+++ b/Settings.bundle/Root.plist
@@ -169,6 +169,7 @@
udp
tcp
+ tls
Type
PSMultiValueSpecifier
@@ -176,6 +177,7 @@
udp
tcp
+ tls
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index 6add84603..05f725a78 100755
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -97,6 +97,7 @@
22F3D57E13CCC89600A0DA02 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22F3D57D13CCC89600A0DA02 /* liblinphone.a */; };
22F51EF6107FA66500F98953 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; };
288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
+ 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */ = {isa = PBXBuildFile; fileRef = 70571E1913FABCB000CDD3C2 /* rootca.pem */; };
7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0B13E830E400EFC6DC /* libvpx.a */; };
70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; };
70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; };
@@ -439,6 +440,7 @@
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = ""; };
+ 70571E1913FABCB000CDD3C2 /* rootca.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rootca.pem; path = Resources/rootca.pem; sourceTree = ""; };
7066FC0B13E830E400EFC6DC /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; };
70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
@@ -911,6 +913,7 @@
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
+ 70571E1913FABCB000CDD3C2 /* rootca.pem */,
22E19E47138A67A000FBFE87 /* missed_call.png */,
228B19AE130290C500F154D3 /* iTunesArtwork */,
2242E312125235120061DDCE /* oldphone-mono-30s.caf */,
@@ -1059,6 +1062,7 @@
22E028B813B4CCBD0068A713 /* VideoViewController.xib in Resources */,
226B563F13CAF1CD00921595 /* audio.plist in Resources */,
22E1A9E813CAF4AA00219531 /* video.plist in Resources */,
+ 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/submodules/externals/exosip b/submodules/externals/exosip
index 361a5cfe2..7aba625f1 160000
--- a/submodules/externals/exosip
+++ b/submodules/externals/exosip
@@ -1 +1 @@
-Subproject commit 361a5cfe25a31d503b0d9e46960d6908c6672aad
+Subproject commit 7aba625f1c2a16cdac6b41b190cb2d46c8578cfe
diff --git a/submodules/externals/osip b/submodules/externals/osip
index 5a3da085c..c27b9b670 160000
--- a/submodules/externals/osip
+++ b/submodules/externals/osip
@@ -1 +1 @@
-Subproject commit 5a3da085ca1dcf82a852cee1e191cab0b98ff1f1
+Subproject commit c27b9b6702f62cdbd2143c1ccc85b8980b83adac