From c058c5cbdee5c9f5fa4f7cc1500cceffda2bc3c5 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 7 Jun 2012 22:21:33 +0200 Subject: [PATCH] work in progress for in app settings --- Classes/LinphoneAppDelegate.m | 2 + Classes/LinphoneCoreSettingsStore.h | 6 + Classes/LinphoneCoreSettingsStore.m | 194 +++++++++++++++++++++++++-- Classes/LinphoneUI/LinphoneManager.m | 13 +- Settings.bundle/Advanced.plist | 40 ++++-- Settings.bundle/Root.plist | 2 - linphone.xcodeproj/project.pbxproj | 30 +---- submodules/externals/exosip | 2 +- submodules/linphone | 2 +- 9 files changed, 234 insertions(+), 57 deletions(-) diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 3807085f7..f2e8586d7 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -28,6 +28,7 @@ #import "ConsoleViewController.h" #import "MoreViewController.h" #include "CallHistoryTableViewController.h" +#import "LinphoneCoreSettingsStore.h" #include "LinphoneManager.h" #include "linphonecore.h" @@ -239,6 +240,7 @@ int __aeabi_idiv(int a, int b) { // Settings, setup delegate settingsController.delegate = [LinphoneManager instance]; settingsController.settingsReader.delegate = [LinphoneManager instance]; + settingsController.settingsStore=[[LinphoneCoreSettingsStore alloc] init]; [settingsController.settingsReader init]; diff --git a/Classes/LinphoneCoreSettingsStore.h b/Classes/LinphoneCoreSettingsStore.h index bb9df882a..95d04546a 100644 --- a/Classes/LinphoneCoreSettingsStore.h +++ b/Classes/LinphoneCoreSettingsStore.h @@ -9,7 +9,13 @@ #import #import "IASKSettingsStore.h" +#import "LinphoneManager.h" + @interface LinphoneCoreSettingsStore : IASKAbstractSettingsStore { + NSDictionary *dict; } +- (void) enableCodecWithName: (const char*) name andRate: (int) rate to:(id)value; +-(void) transformLinphoneCoreToKeys; + @end diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 2b40a05c1..370d9323f 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -8,6 +8,10 @@ #import "LinphoneCoreSettingsStore.h" +#include "lpconfig.h" + + +#if 0 // linphone_core_enable_logs_with_cb - linphone_core_disable_logs debugenable_preference @@ -18,8 +22,8 @@ domain_preference password_preference outbound_proxy_preference proxy_preference -prefix_preference -substitute_+_by_00_preference +prefix_preference ++ +substitute_+_by_00_preference ++ // app internal setting check_config_disable_preference @@ -36,7 +40,7 @@ gsm_8k_preference ilbc_preference pcmu_preference pcma_preference -g722_preferenceg +g722_preference g729_preference // linphone_core_enable_payload_type @@ -46,6 +50,8 @@ vp8_preference // linphone_core_enable_video enable_video_preference +// linphone_core_set_video_policy +start_video_preference // linphone_core_set_media_encryption enable_srtp_preference @@ -54,23 +60,195 @@ enable_srtp_preference // linphone_core_set_firewall_policy stun_preference -// linphone_core_set_video_policy -start_video_preference +#endif + +struct codec_name_pref_table{ + const char *name; + int rate; + NSString *prefname; +}; + +struct codec_name_pref_table codec_pref_table[]={ + { "speex", 8000, @"speex_8k_preference" }, + { "speex", 16000, @"speex_16k_preference" }, + { "silk", 24000, @"silk_24k_preference" }, + { "silk", 16000, @"silk_16k_preference" }, + { "amr", 8000, @"amr_8k_preference" }, + { "ilbc", 8000, @"ilbc_preference"}, + { "pcmu", 8000, @"pcmu_preference"}, + { "pcma", 8000, @"pcma_preference"}, + { "g722", 8000, @"g722_preference"}, + { "g729", 8000, @"g729_preference"}, + { "mp4v-es", 90000, @"mp4v-es_preference"}, + { "h264", 90000, @"h264_preference"}, + { "vp8", 90000, @"vp8_preference"}, + { NULL,0,Nil } +}; + +static NSString *getPrefForCodec(const char *name, int rate){ + int i; + for(i=0;codec_pref_table[i].name!=NULL;++i){ + if (strcasecmp(codec_pref_table[i].name,name)==0 && codec_pref_table[i].rate==rate) + return codec_pref_table[i].prefname; + } + return Nil; +} + @implementation LinphoneCoreSettingsStore +-(id) init{ + self = [super init]; + if (self){ + dict=[[NSMutableDictionary alloc] init]; + [self transformLinphoneCoreToKeys]; + } + return self; +} + +-(void) dealloc{ + [super dealloc]; + [dict release]; +} + +-(void) transformKeysToLinphoneCore{ + //LinphoneCore *lc=[LinphoneManager getLc]; + +} + +- (void) setString:(const char*)value forKey:(NSString*)key{ + id obj=Nil; + if (value) obj=[[NSString alloc] initWithCString:value encoding:[NSString defaultCStringEncoding] ]; + [self setObject: obj forKey:key]; +} + +-(void) transformCodecsToKeys: (const MSList *)codecs{ + LinphoneCore *lc=[LinphoneManager getLc]; + const MSList *elem=codecs; + for(;elem!=NULL;elem=elem->next){ + PayloadType *pt=(PayloadType*)elem->data; + NSString *pref=getPrefForCodec(pt->mime_type,pt->clock_rate); + if (pref){ + [self setBool: linphone_core_payload_type_enabled(lc,pt) forKey: pref]; + }else{ + ms_warning("Codec %s/%i supported by core is not shown in iOS app config view.", + pt->mime_type,pt->clock_rate); + } + } +} + +-(void) transformLinphoneCoreToKeys{ + LinphoneCore *lc=[LinphoneManager getLc]; + LinphoneProxyConfig *cfg=NULL; + linphone_core_get_default_proxy(lc,&cfg); + if (cfg){ + const char *identity=linphone_proxy_config_get_identity(cfg); + LinphoneAddress *addr=linphone_address_new(identity); + if (addr){ + const char *proxy=linphone_proxy_config_get_addr(cfg); + LinphoneAddress *proxy_addr=linphone_address_new(proxy); + const char *port=linphone_address_get_port(proxy_addr); + + [self setString: linphone_address_get_username(addr) forKey:@"username_preference"]; + [self setString: linphone_address_get_domain(addr) forKey:@"domain_preference"]; + if (strcmp(linphone_address_get_domain(addr),linphone_address_get_domain(proxy_addr))!=0 + || port!=NULL){ + char tmp[256]={0}; + if (port!=NULL) { + snprintf(tmp,sizeof(tmp)-1,"%s:%s",linphone_address_get_domain(proxy_addr),port); + }else snprintf(tmp,sizeof(tmp)-1,"%s",linphone_address_get_domain(proxy_addr)); + [self setString: tmp forKey:@"proxy_preference"]; + } + linphone_address_destroy(addr); + linphone_address_destroy(proxy_addr); + + [self setBool: (linphone_proxy_config_get_route(cfg)!=NULL) forKey:@"outbound_proxy_preference"]; + + } + } + { + LCSipTransports tp; + const char *tname="udp"; + linphone_core_get_sip_transports(lc, &tp); + if (tp.udp_port>0) tname="udp"; + else if (tp.tcp_port>0) tname="tcp"; + else if (tp.tls_port>0) tname="tls"; + [self setString: tname forKey:@"transport_preference"]; + } + { + LinphoneAuthInfo *ai; + const MSList *elem=linphone_core_get_auth_info_list(lc); + if (elem && (ai=(LinphoneAuthInfo*)elem->data)){ + [self setString: linphone_auth_info_get_passwd(ai) forKey:@"password_preference"]; + } + } + { + [self setString: linphone_core_get_stun_server(lc) forKey:@"stun_preference"]; + } + + { + [self transformCodecsToKeys: linphone_core_get_audio_codecs(lc)]; + [self transformCodecsToKeys: linphone_core_get_video_codecs(lc)]; + } + + { + LinphoneMediaEncryption menc=linphone_core_get_media_encryption(lc); + const char *val; + switch(menc){ + LinphoneMediaEncryptionSRTP: + val="SRTP"; + break; + LinphoneMediaEncryptionZRTP: + val="ZRTP"; + break; + default: + val="None"; + } + [self setString:val forKey:@"media_encryption_preference"]; + } + + [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","debugenable_preference",0) forKey:@"debugenable_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","check_config_disable_preference",0) forKey:@"check_config_disable_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","wifi_only_preference",0) forKey:@"wifi_only_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","backgroundmode_preference",TRUE) forKey:@"backgroundmode_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","start_at_boot_preference",TRUE) forKey:@"disable_autoboot_preference"]; + + if (linphone_core_tunnel_available()){ + /*FIXME: enhance linphonecore API to handle tunnel more easily in applications */ + LinphoneTunnel *tun=linphone_core_get_tunnel(lc); + //[self setString: linphone_tunnel_get_servers(tun) forKey:tunnel_address_preference]; + //[self setInteger: blabla forKey:tunnel_port_preference]; + //[self setString: forKey:@"tunnel_enabled_preference"]; + } + { + const LinphoneVideoPolicy *pol; + [self setBool: linphone_core_video_enabled(lc) forKey:@"enable_video_preference"]; + pol=linphone_core_get_video_policy(lc); + [self setBool:(pol->automatically_accept && pol->automatically_initiate) forKey:@"start_video_preference"]; + } +} -(void) setObject:(id)value forKey:(NSString *)key { - - + [dict setValue:value forKey:key]; } - (id)objectForKey:(NSString*)key { - return nil; + return [dict valueForKey:key]; } + - (BOOL)synchronize { + ms_message("Called in SettingsStore synchronize"); return YES; } +- (void) enableCodecWithName: (const char*) name andRate: (int) rate to:(id)value{ + LinphoneCore *lc=[LinphoneManager getLc]; + PayloadType *pt; + pt=linphone_core_find_payload_type(lc, name, rate); + if (pt){ + linphone_core_enable_payload_type(lc, pt, [value boolValue]); + } +} + @end diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 50a632aee..2188d73c6 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -998,15 +998,14 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach //go directly to bg mode [self enterBackgroundMode]; } + NSUInteger cpucount = [[NSProcessInfo processInfo] processorCount]; + ms_set_cpu_count(cpucount); + - if ([LinphoneManager runningOnIpad]) - ms_set_cpu_count(2); - else - ms_set_cpu_count(1); - - ms_warning("Linphone [%s] started on [%s]" + ms_warning("Linphone [%s] started on [%s], running with [%u] processor(s)" ,linphone_core_get_version() - ,[[UIDevice currentDevice].model cStringUsingEncoding:[NSString defaultCStringEncoding]] ); + ,[[UIDevice currentDevice].model cStringUsingEncoding:[NSString defaultCStringEncoding]], + cpucount); } diff --git a/Settings.bundle/Advanced.plist b/Settings.bundle/Advanced.plist index c0c81b34a..bfe884eb2 100644 --- a/Settings.bundle/Advanced.plist +++ b/Settings.bundle/Advanced.plist @@ -58,13 +58,13 @@ DefaultValue - - Key - wifi_only_preference - Title - Wifi only - Type - PSToggleSwitchSpecifier + + Key + wifi_only_preference + Title + Wifi only + Type + PSToggleSwitchSpecifier DefaultValue @@ -90,21 +90,33 @@ DefaultValue - + None Key - enable_srtp_preference + media_encryption_preference Title - Secure rtp + Media Encryption + Titles + + None + SRTP + ZRTP + Type - PSToggleSwitchSpecifier + PSMultiValueSpecifier + Values + + None + SRTP + ZRTP + DefaultValue - + Key - disable_autoboot_preference + start_at_boot_preference Title - Disable application autostart + Start at boot Type PSToggleSwitchSpecifier diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist index bd5c9216c..f2aa11c6c 100644 --- a/Settings.bundle/Root.plist +++ b/Settings.bundle/Root.plist @@ -9,8 +9,6 @@ SIP account Type PSGroupSpecifier - FooterText - Linphone must be restarted for changes to take effect AutocapitalizationType diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 806364d34..81e6e686e 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -29,7 +29,6 @@ 220FAD3810765B400068D98F /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2F10765B400068D98F /* libspeex.a */; }; 220FAD3910765B400068D98F /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD3010765B400068D98F /* libspeexdsp.a */; }; 220FAE4B10767A6A0068D98F /* PhoneMainView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */; }; - 2211DB95147564B400DEE054 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2211DB94147564B400DEE054 /* Settings.bundle */; }; 2211DBBE14769C8300DEE054 /* CallDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2211DBBB14769C8200DEE054 /* CallDelegate.m */; }; 2211DBBF14769C8300DEE054 /* CallDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2211DBBB14769C8200DEE054 /* CallDelegate.m */; }; 2211DBC014769CB200DEE054 /* IncallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 222A483212F7176F0075F07F /* IncallViewController.m */; }; @@ -92,7 +91,6 @@ 226183AE1472527D0037138E /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AB1472527D0037138E /* libsrtp.a */; }; 226183B0147259670037138E /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AF147259670037138E /* libmssilk.a */; }; 2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2264B6D111200342002C2C53 /* SystemConfiguration.framework */; }; - 226B563F13CAF1CD00921595 /* audio.plist in Resources */ = {isa = PBXBuildFile; fileRef = 226B563E13CAF1CD00921595 /* audio.plist */; }; 226CDADF14E2D0B800513B67 /* libbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226CDADD14E2D0B800513B67 /* libbcg729.a */; }; 226CDAE014E2D0B800513B67 /* libmsbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226CDADE14E2D0B800513B67 /* libmsbcg729.a */; }; 226F2ED61344B0EF00F6EF27 /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */; }; @@ -142,8 +140,6 @@ 22D8F13D147548E2008C97DB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2214783B1386A2030020F8B8 /* Localizable.strings */; }; 22D8F13E147548E2008C97DB /* missed_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E19E47138A67A000FBFE87 /* missed_call.png */; }; 22D8F13F147548E2008C97DB /* VideoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E028B613B4CCBD0068A713 /* VideoViewController.xib */; }; - 22D8F140147548E2008C97DB /* audio.plist in Resources */ = {isa = PBXBuildFile; fileRef = 226B563E13CAF1CD00921595 /* audio.plist */; }; - 22D8F141147548E2008C97DB /* video.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22E1A9E713CAF4AA00219531 /* video.plist */; }; 22D8F142147548E2008C97DB /* rootca.pem in Resources */ = {isa = PBXBuildFile; fileRef = 70571E1913FABCB000CDD3C2 /* rootca.pem */; }; 22D8F144147548E2008C97DB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 22D8F145147548E2008C97DB /* LinphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */; }; @@ -206,7 +202,6 @@ 22E0A823111C44E100B04932 /* ConsoleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A81E111C44E100B04932 /* ConsoleViewController.xib */; }; 22E0A824111C44E100B04932 /* ConsoleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81F111C44E100B04932 /* ConsoleViewController.m */; }; 22E19E48138A67A000FBFE87 /* missed_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E19E47138A67A000FBFE87 /* missed_call.png */; }; - 22E1A9E813CAF4AA00219531 /* video.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22E1A9E713CAF4AA00219531 /* video.plist */; }; 22E5B0AF133B5EA20044EA25 /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22E5B0AD133B5EA20044EA25 /* libssl.a */; }; 22E5B0B0133B5EA20044EA25 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22E5B0AE133B5EA20044EA25 /* libcrypto.a */; }; 22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* PhoneViewController.m */; }; @@ -316,6 +311,8 @@ 34CA853A148F692A00503C01 /* MainScreenWithVideoPreview.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CA8538148F692A00503C01 /* MainScreenWithVideoPreview.m */; }; 57282931154AF1460076F540 /* history-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 34C7646B14CD5585008E9607 /* history-orange.png */; }; 57282933154AF14D0076F540 /* dialer-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 34C7646A14CD5585008E9607 /* dialer-orange.png */; }; + 57D2B457157E4580002EA69B /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3415205B1563ABEB00205A0E /* MessageUI.framework */; }; + 57D2B45B1580FF58002EA69B /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 57D2B45A1580FF58002EA69B /* Settings.bundle */; }; 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 */; }; @@ -474,7 +471,6 @@ 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PhoneMainView.xib; sourceTree = ""; }; 2211DB8F147555C800DEE054 /* libmediastreamer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer.a; path = "liblinphone-sdk/apple-darwin/lib/libmediastreamer.a"; sourceTree = ""; }; 2211DB911475562600DEE054 /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "liblinphone-sdk/apple-darwin/lib/liblinphone.a"; sourceTree = ""; }; - 2211DB94147564B400DEE054 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = "nogpl-thirdparties/Settings.bundle"; sourceTree = ""; }; 2211DBBB14769C8200DEE054 /* CallDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CallDelegate.m; sourceTree = ""; }; 2211DBCA1476BE7300DEE054 /* ajouter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ajouter.png; path = Resources/ajouter.png; sourceTree = ""; }; 2211DBCB1476BE7300DEE054 /* clavier.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = clavier.png; path = Resources/clavier.png; sourceTree = ""; }; @@ -537,7 +533,6 @@ 226183AB1472527D0037138E /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; 226183AF147259670037138E /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; }; 2264B6D111200342002C2C53 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 226B563E13CAF1CD00921595 /* audio.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = audio.plist; path = Settings.bundle/audio.plist; sourceTree = ""; }; 226CDADD14E2D0B800513B67 /* libbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbcg729.a; path = "liblinphone-sdk/apple-darwin/lib/libbcg729.a"; sourceTree = ""; }; 226CDADE14E2D0B800513B67 /* libmsbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsbcg729.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsbcg729.a"; sourceTree = ""; }; 226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrwb.a"; path = "liblinphone-sdk/apple-darwin/lib/libopencore-amrwb.a"; sourceTree = ""; }; @@ -652,7 +647,6 @@ 22E0A81F111C44E100B04932 /* ConsoleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConsoleViewController.m; sourceTree = ""; }; 22E0A820111C44E100B04932 /* ConsoleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConsoleViewController.h; sourceTree = ""; }; 22E19E47138A67A000FBFE87 /* missed_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = missed_call.png; path = Resources/missed_call.png; sourceTree = ""; }; - 22E1A9E713CAF4AA00219531 /* video.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = video.plist; path = Settings.bundle/video.plist; sourceTree = ""; }; 22E5B0AD133B5EA20044EA25 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = "liblinphone-sdk/apple-darwin/lib/libssl.a"; sourceTree = ""; }; 22E5B0AE133B5EA20044EA25 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = "liblinphone-sdk/apple-darwin/lib/libcrypto.a"; sourceTree = ""; }; 22F2508B107141E100AC9B3F /* PhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneViewController.h; sourceTree = ""; }; @@ -742,6 +736,7 @@ 34CA8534148F669900503C01 /* VideoViewController-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "VideoViewController-ipad.xib"; sourceTree = ""; }; 34CA8537148F692A00503C01 /* MainScreenWithVideoPreview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainScreenWithVideoPreview.h; sourceTree = ""; }; 34CA8538148F692A00503C01 /* MainScreenWithVideoPreview.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainScreenWithVideoPreview.m; sourceTree = ""; }; + 57D2B45A1580FF58002EA69B /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; 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; }; @@ -808,6 +803,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 57D2B457157E4580002EA69B /* MessageUI.framework in Frameworks */, 34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */, 22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */, 22D8F15C147548E2008C97DB /* QuartzCore.framework in Frameworks */, @@ -1100,14 +1096,6 @@ path = speex; sourceTree = ""; }; - 2211DB9614764F6B00DEE054 /* nogpl-thirdparties */ = { - isa = PBXGroup; - children = ( - 2211DB94147564B400DEE054 /* Settings.bundle */, - ); - name = "nogpl-thirdparties"; - sourceTree = ""; - }; 2214EB7012F84668002A5394 /* LinphoneUI */ = { isa = PBXGroup; children = ( @@ -1225,6 +1213,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 57D2B45A1580FF58002EA69B /* Settings.bundle */, 3415205B1563ABEB00205A0E /* MessageUI.framework */, 34151FB61563A8D800205A0E /* InAppSettingsKit */, 340751961506459A00B89C47 /* CoreTelephony.framework */, @@ -1233,7 +1222,6 @@ 344ABDEF14850AE9007420B6 /* libc++.1.dylib */, 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */, 344ABDE71484E723007420B6 /* libzrtpcpp.a */, - 2211DB9614764F6B00DEE054 /* nogpl-thirdparties */, 2211DB911475562600DEE054 /* liblinphone.a */, 2211DB8F147555C800DEE054 /* libmediastreamer.a */, 226183AF147259670037138E /* libmssilk.a */, @@ -1244,8 +1232,6 @@ 70E542F213E147E3002BA2C0 /* OpenGLES.framework */, 22AA8AFB13D7125500B30535 /* libx264.a */, 22AA8AFC13D7125500B30535 /* libmsx264.a */, - 22E1A9E713CAF4AA00219531 /* video.plist */, - 226B563E13CAF1CD00921595 /* audio.plist */, 22276E8813C73DC000210156 /* CoreMedia.framework */, 22276E8613C73D8A00210156 /* CoreVideo.framework */, 22276E8013C73D3100210156 /* libavcodec.a */, @@ -1540,8 +1526,6 @@ 2214783D1386A2030020F8B8 /* Localizable.strings in Resources */, 22E19E48138A67A000FBFE87 /* missed_call.png in Resources */, 22E028B813B4CCBD0068A713 /* VideoViewController.xib in Resources */, - 226B563F13CAF1CD00921595 /* audio.plist in Resources */, - 22E1A9E813CAF4AA00219531 /* video.plist in Resources */, 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */, 2211DBD51476BE7300DEE054 /* ajouter.png in Resources */, 2211DBD71476BE7300DEE054 /* clavier.png in Resources */, @@ -1596,6 +1580,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 57D2B45B1580FF58002EA69B /* Settings.bundle in Resources */, 22D8F11F147548E2008C97DB /* linphonerc in Resources */, 22D8F120147548E2008C97DB /* PhoneViewController.xib in Resources */, 22D8F121147548E2008C97DB /* ringback.wav in Resources */, @@ -1621,10 +1606,7 @@ 22D8F13D147548E2008C97DB /* Localizable.strings in Resources */, 22D8F13E147548E2008C97DB /* missed_call.png in Resources */, 22D8F13F147548E2008C97DB /* VideoViewController.xib in Resources */, - 22D8F140147548E2008C97DB /* audio.plist in Resources */, - 22D8F141147548E2008C97DB /* video.plist in Resources */, 22D8F142147548E2008C97DB /* rootca.pem in Resources */, - 2211DB95147564B400DEE054 /* Settings.bundle in Resources */, 2211DBD61476BE7300DEE054 /* ajouter.png in Resources */, 2211DBD81476BE7300DEE054 /* clavier.png in Resources */, 2211DBDA1476BE7300DEE054 /* contact.png in Resources */, diff --git a/submodules/externals/exosip b/submodules/externals/exosip index 014f5a021..8c42924ae 160000 --- a/submodules/externals/exosip +++ b/submodules/externals/exosip @@ -1 +1 @@ -Subproject commit 014f5a021ad4a0c024088edbb721f144a6f96699 +Subproject commit 8c42924ae9009f6003e98d29638e078ca1bd7c71 diff --git a/submodules/linphone b/submodules/linphone index d0ced93c2..bad6c152f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d0ced93c25f088c04a9f92b82aa41c5b1f271e23 +Subproject commit bad6c152f1521de8648d47c70e9321b7668b40b5