From 49a253782694f1c9aecc13717f565155a3e851bd Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 18 May 2012 15:08:14 +0200 Subject: [PATCH 01/13] set proper ordering of digit buttons on ipad --- Classes/PhoneViewController-ipad.xib | 56 +++++++++++++++------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/Classes/PhoneViewController-ipad.xib b/Classes/PhoneViewController-ipad.xib index fc15c4af0..0b5db5b31 100644 --- a/Classes/PhoneViewController-ipad.xib +++ b/Classes/PhoneViewController-ipad.xib @@ -1,14 +1,14 @@ - 1280 - 11C74 - 1938 - 1138.23 - 567.00 + 1296 + 11E53 + 2182 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 + 1181 IBUIViewController @@ -325,7 +325,7 @@ IBIPadFramework 0 0 - 4 + 6 1 @@ -371,7 +371,7 @@ IBIPadFramework 0 0 - 6 + 4 1 @@ -583,14 +583,6 @@ 47 - - - four - - - - 48 - hash @@ -623,14 +615,6 @@ 52 - - - six - - - - 53 - star @@ -727,6 +711,22 @@ 62 + + + four + + + + 63 + + + + six + + + + 64 + @@ -940,7 +940,7 @@ - 62 + 64 @@ -1121,6 +1121,10 @@ 0 IBIPadFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + YES 3 @@ -1131,6 +1135,6 @@ {60, 52} {60, 52} - 933 + 1181 From 63049d2fc72feb66ded5270cdbde38eec5e4d72a Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 21 May 2012 23:32:53 +0200 Subject: [PATCH 02/13] fix speaker button behavior --- Classes/IncallViewController.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m index 31a06e8aa..436e65921 100644 --- a/Classes/IncallViewController.m +++ b/Classes/IncallViewController.m @@ -667,8 +667,8 @@ void addAnimationFadeTransition(UIView* view, float duration) { dismissed = false; UIDevice *device = [UIDevice currentDevice]; device.proximityMonitoringEnabled = YES; - if ([speaker isOn]) - [speaker toggle]; + //if ([speaker isOn]) + // [speaker toggle]; [self updateUIFromLinphoneState: YES]; } @@ -681,7 +681,7 @@ void addAnimationFadeTransition(UIView* view, float duration) { UIDevice *device = [UIDevice currentDevice]; device.proximityMonitoringEnabled = YES; if (call !=nil && linphone_call_get_dir(call)==LinphoneCallIncoming) { - if ([speaker isOn]) [speaker toggle]; + //if ([speaker isOn]) [speaker toggle]; } [self updateUIFromLinphoneState: YES]; From bbfa193ce1be91c81bd2be4244559184fcbd9619 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 22 May 2012 15:32:03 +0200 Subject: [PATCH 03/13] update exosip to use tcp_nodelay --- submodules/externals/exosip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 6748f3ec7f8af2f328505a79b716e546b0dab9cd Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 23 May 2012 17:44:31 +0200 Subject: [PATCH 04/13] update linphone submodule for bugfixes --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 04fa4d457..bad6c152f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 04fa4d457b3b584eae8c5964a48a97ec4040c94a +Subproject commit bad6c152f1521de8648d47c70e9321b7668b40b5 From 1d9c0c7859ca0224f62717c6fac85376d202fe26 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 30 May 2012 14:41:47 +0200 Subject: [PATCH 05/13] unregister audio listener from speaker button --- Classes/LinphoneUI/UISpeakerButton.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Classes/LinphoneUI/UISpeakerButton.m b/Classes/LinphoneUI/UISpeakerButton.m index 10fdf5b5f..1508f4cdf 100644 --- a/Classes/LinphoneUI/UISpeakerButton.m +++ b/Classes/LinphoneUI/UISpeakerButton.m @@ -22,6 +22,7 @@ #include "linphonecore.h" @implementation UISpeakerButton +static AudioSessionPropertyID routeChangeID = kAudioSessionProperty_AudioRouteChange; static void audioRouteChangeListenerCallback ( void *inUserData, // 1 @@ -36,7 +37,7 @@ static void audioRouteChangeListenerCallback ( -(void) initWithOnImage:(UIImage*) onImage offImage:(UIImage*) offImage debugName:(const char *)name{ [super initWithOnImage:onImage offImage:offImage debugName:name]; - AudioSessionPropertyID routeChangeID = kAudioSessionProperty_AudioRouteChange; + AudioSessionInitialize(NULL, NULL, NULL, NULL); OSStatus lStatus = AudioSessionAddPropertyListener(routeChangeID, audioRouteChangeListenerCallback, self); if (lStatus) { @@ -85,7 +86,11 @@ static void audioRouteChangeListenerCallback ( */ - (void)dealloc { - [super dealloc]; + OSStatus lStatus = AudioSessionRemovePropertyListenerWithUserData(routeChangeID, audioRouteChangeListenerCallback, self); + if (lStatus) { + ms_error ("cannot un register route change handler [%ld]",lStatus); + } + [super dealloc]; } From 5c902c829b0c14e0afcdca715ecc2a79658a0d49 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 4 Jun 2012 17:06:38 +0200 Subject: [PATCH 06/13] try to workaround iOS reachability bug --- Classes/LinphoneUI/LinphoneManager.h | 2 +- Classes/LinphoneUI/LinphoneManager.m | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.h b/Classes/LinphoneUI/LinphoneManager.h index a52cff965..691ebd14f 100644 --- a/Classes/LinphoneUI/LinphoneManager.h +++ b/Classes/LinphoneUI/LinphoneManager.h @@ -91,7 +91,7 @@ typedef struct _LinphoneCallAppData { -(UIImage*) getImageFromAddressBook:(NSString*) number; -(BOOL) reconfigureLinphoneIfNeeded:(NSDictionary *)oldSettings; --(void) setupNetworkReachabilityCallback: (const char*) nodeName withContext:(SCNetworkReachabilityContext*) ctx; +-(void) setupNetworkReachabilityCallback; -(void) refreshRegisters; @property (nonatomic, retain) id callDelegate; diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 540ae63ec..8976216df 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -865,9 +865,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach linphone_core_iterate(theLinphoneCore); } --(void) setupNetworkReachabilityCallback: (const char*) nodeName withContext:(SCNetworkReachabilityContext*) ctx { +-(void) setupNetworkReachabilityCallback { + SCNetworkReachabilityContext *ctx=NULL; + const char *nodeName="linphone.org"; + if (proxyReachability) { - ms_message("Cancel old network reachability check"); + ms_message("Cancelling old network reachability"); SCNetworkReachabilityUnscheduleFromRunLoop(proxyReachability, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); CFRelease(proxyReachability); proxyReachability = nil; @@ -943,7 +946,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach linphone_core_set_zrtp_secrets_file(theLinphoneCore, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); - [self setupNetworkReachabilityCallback: "linphone.org" withContext:nil]; + [self setupNetworkReachabilityCallback]; [self reconfigureLinphoneIfNeeded:nil]; @@ -1014,9 +1017,16 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach if (proxyReachability){ SCNetworkReachabilityFlags flags=0; if (!SCNetworkReachabilityGetFlags(proxyReachability, &flags)) { - ms_error("Cannot get reachability flags"); - }else - networkReachabilityCallBack(proxyReachability, flags, 0); + ms_error("Cannot get reachability flags, re-creating reachability context."); + [self setupNetworkReachabilityCallback]; + }else{ + networkReachabilityCallBack(proxyReachability, flags, 0); + if (flags==0){ + /*workaround iOS bug: reachability API cease to work after some time.*/ + /*when flags==0, either we have no network, or the reachability object lies. To workaround, create a new one*/ + [self setupNetworkReachabilityCallback]; + } + } }else ms_error("No proxy reachability context created !"); linphone_core_refresh_registers(theLinphoneCore);//just to make sure REGISTRATION is up to date } From d5193453a770cccb5a0b41eb16efa82cd08a1fa2 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 5 Jun 2012 11:53:57 +0200 Subject: [PATCH 07/13] #0000163: Use other titles for decline button --- Classes/PhoneViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 7309144ad..91872a2c4 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -270,9 +270,9 @@ mIncomingCallActionSheet = [[UIActionSheet alloc] initWithTitle:[NSString stringWithFormat:NSLocalizedString(@" %@ is calling you",nil),[displayName length]>0?displayName:username] delegate:cd - cancelButtonTitle:NSLocalizedString(@"Decline",nil) + cancelButtonTitle:nil destructiveButtonTitle:NSLocalizedString(@"Answer",nil) - otherButtonTitles:nil]; + otherButtonTitles:NSLocalizedString(@"Decline",nil),nil]; mIncomingCallActionSheet.actionSheetStyle = UIActionSheetStyleDefault; if ([LinphoneManager runningOnIpad]) { From d160fc08f015f205d1e9da20fa7e07a4a3680a76 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 5 Jun 2012 14:21:31 +0200 Subject: [PATCH 08/13] Fix null pointer exception when call released --- Classes/LinphoneUI/LinphoneManager.m | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 8976216df..1f2b3dded 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -141,6 +141,14 @@ extern void libmsbcg729_init(); } -(void) onCall:(LinphoneCall*) call StateChanged: (LinphoneCallState) new_state withMessage: (const char *) message { + if(new_state == LinphoneCallReleased) { + if(linphone_call_get_user_pointer(call) != NULL) { + free (linphone_call_get_user_pointer(call)); + linphone_call_set_user_pointer(call, NULL); + } + return; + } + const char* lUserNameChars=linphone_address_get_username(linphone_call_get_remote_address(call)); NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil); if (new_state == LinphoneCallIncomingReceived) { @@ -269,9 +277,6 @@ extern void libmsbcg729_init(); [callDelegate displayInCall:call FromUI:mCurrentViewController forUser:lUserName withDisplayName:lDisplayName]; } break; - case LinphoneCallReleased: - free (linphone_call_get_user_pointer(call)); - break; default: break; } From 379b10a33d32807fe458e53467d700cb8b6ee374 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 5 Jun 2012 14:22:28 +0200 Subject: [PATCH 09/13] #0000173 Inhibit resume during call transfert --- Classes/IncallViewController.m | 10 ++++++++-- linphone.xcodeproj/project.pbxproj | 8 ++++---- submodules/linphone | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m index 436e65921..0768fa60d 100644 --- a/Classes/IncallViewController.m +++ b/Classes/IncallViewController.m @@ -932,7 +932,11 @@ static void hideSpinner(LinphoneCall* call, void* user_data) { } else { switch (linphone_call_get_state(call)) { case LinphoneCallPaused: - [ms appendFormat:@"%@", NSLocalizedString(@"Paused (tap to resume)", nil), nil]; + if(!linphone_core_sound_resources_locked(linphone_call_get_core(call))) { + [ms appendFormat:@"%@", NSLocalizedString(@"Paused (tap to resume)", nil), nil]; + } else { + [ms appendFormat:@"%@", NSLocalizedString(@"Paused", nil), nil]; + } break; case LinphoneCallOutgoingInit: case LinphoneCallOutgoingProgress: @@ -1242,7 +1246,9 @@ static void hideSpinner(LinphoneCall* call, void* user_data) { if (linphone_core_is_in_conference(lc)) { linphone_core_leave_conference(lc); } - linphone_core_resume_call([LinphoneManager getLc], selectedCall); + if(!linphone_core_sound_resources_locked(lc)) { + linphone_core_resume_call([LinphoneManager getLc], selectedCall); + } } [self updateUIFromLinphoneState: YES]; diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index b59ceb3c1..3976201b0 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1596,7 +1596,7 @@ HAVE_SILK, ); GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -1662,7 +1662,7 @@ HAVE_SILK, ); GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -1938,7 +1938,7 @@ HAVE_SILK, ); GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -2005,7 +2005,7 @@ HAVE_SILK, ); GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, diff --git a/submodules/linphone b/submodules/linphone index bad6c152f..2d669353c 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit bad6c152f1521de8648d47c70e9321b7668b40b5 +Subproject commit 2d669353c3eda22e63023fde2f3cde7b437d2c81 From 329302793a2b04cacb1db1c51197efa1119080df Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 7 Jun 2012 14:23:57 +0200 Subject: [PATCH 10/13] Release 1.3 --- linphone-Info.plist | 4 ++-- linphone.xcodeproj/project.pbxproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/linphone-Info.plist b/linphone-Info.plist index 9558573e0..45828b413 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -24,11 +24,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.5.0 + 3.5.2 CFBundleSignature ???? CFBundleVersion - 1.1.2 + 1.3 NSMainNibFile PhoneMainView NSMainNibFile~ipad diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 3976201b0..151ea09df 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1635,7 +1635,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 3.1; LIBRARY_SEARCH_PATHS = ""; LINK_WITH_STANDARD_LIBRARIES = YES; - PROVISIONING_PROFILE = "32E63D15-36ED-474A-8157-8DD0770DF063"; + PROVISIONING_PROFILE = "B8ED8915-B69D-40DA-9B89-1700C44B156B"; SDKROOT = iphoneos; }; name = DistributionAdhoc; From 4507faf34faf3dd11b7bbe30fd978b3eb524d5ea Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 8 Jun 2012 10:57:00 +0200 Subject: [PATCH 11/13] Fix invalid view state after a transfert of outgoing call --- Classes/PhoneViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 91872a2c4..66ca69f2a 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -320,8 +320,8 @@ -(void) displayInCall: (LinphoneCall*) call FromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName { [mMainScreenWithVideoPreview showPreview:NO]; - if (self.presentedViewController != (UIViewController*)mIncallViewController && (call == 0x0 || - linphone_call_get_dir(call)==LinphoneCallIncoming)){ + if (self.presentedViewController != (UIViewController*)mIncallViewController /*&& (call == 0x0 || + linphone_call_get_dir(call)==LinphoneCallIncoming)*/){ [self presentModalViewController:(UIViewController*)mIncallViewController animated:true]; } From 3165914299e7b90a6f81427f4a962cd32572d283 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 8 Jun 2012 22:07:43 +0200 Subject: [PATCH 12/13] update ilbc codec to workaround google's failure to use correct TLS certificateson its machine. --- submodules/libilbc-rfc3951 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/libilbc-rfc3951 b/submodules/libilbc-rfc3951 index af32518af..a70714c2e 160000 --- a/submodules/libilbc-rfc3951 +++ b/submodules/libilbc-rfc3951 @@ -1 +1 @@ -Subproject commit af32518af41f97caee07070234a3475409b9a27d +Subproject commit a70714c2e8a1f6f9958450cb612e3dc9895981e7 From 8ee76a7675c5921a8f8b478330618769bccbbdc8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 18 Jun 2012 15:13:19 +0200 Subject: [PATCH 13/13] update linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 2d669353c..630e26944 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 2d669353c3eda22e63023fde2f3cde7b437d2c81 +Subproject commit 630e26944dd6e5cca53787452b162ec6baf7ba48