From 924ea29282a0983eb7ecc9891c30f53e6c4eda63 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 5 Oct 2015 11:25:05 +0200 Subject: [PATCH] User agent: use device name and version as user agent --- Classes/LinphoneManager.m | 8 ++++---- Classes/Utils/Utils.h | 1 + Classes/Utils/Utils.m | 8 ++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index f6652360a..d9822dffe 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -1293,10 +1293,10 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, const char *lRootCa = [[LinphoneManager bundleFile:@"rootca.pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; - linphone_core_set_user_agent(theLinphoneCore, - [[[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"] - stringByAppendingString:@"Iphone"] UTF8String], - LINPHONE_IOS_VERSION); + NSString *device = [NSString + stringWithFormat:@"%@_%@_iOS%@", [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"], + [LinphoneUtils deviceName], UIDevice.currentDevice.systemVersion]; + linphone_core_set_user_agent(theLinphoneCore, device.UTF8String, LINPHONE_IOS_VERSION); _contactSipField = [self lpConfigStringForKey:@"contact_im_type_value" withDefault:@"SIP"]; diff --git a/Classes/Utils/Utils.h b/Classes/Utils/Utils.h index 998a818d1..6e1a8f5e7 100644 --- a/Classes/Utils/Utils.h +++ b/Classes/Utils/Utils.h @@ -46,6 +46,7 @@ void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); + (void)buttonFixStatesForTabs:(UIButton*)button; + (void)buttonMultiViewAddAttributes:(NSMutableDictionary*)attributes button:(UIButton*)button; + (void)buttonMultiViewApplyAttributes:(NSDictionary*)attributes button:(UIButton*)button; ++ (NSString *)deviceName; @end diff --git a/Classes/Utils/Utils.m b/Classes/Utils/Utils.m index 015f8a3fa..227a06989 100644 --- a/Classes/Utils/Utils.m +++ b/Classes/Utils/Utils.m @@ -20,6 +20,7 @@ #import "Utils.h" #include "linphone/linphonecore.h" #import +#import @implementation LinphoneLogger @@ -298,6 +299,13 @@ void linphone_iphone_log_handler(int lev, const char *fmt, va_list args) { return nil; } ++ (NSString *)deviceName { + struct utsname systemInfo; + uname(&systemInfo); + + return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; +} + @end @implementation NSNumber (HumanReadableSize)