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