From dc6d630cdac9009ed1e974a55132315031f4f648 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 22 Jan 2010 11:44:23 +0100 Subject: [PATCH] initial commit with basic ui --- .gitignore | 1 + Classes/PhoneViewController.h | 95 +++ Classes/PhoneViewController.m | 415 ++++++++++++ Classes/PhoneViewController.xib | 943 ++++++++++++++++++++++++++ Classes/linphoneAppDelegate.h | 37 + Classes/linphoneAppDelegate.m | 61 ++ PhoneMainView.xib | 218 ++++++ Settings.bundle/Root.plist | 175 +++++ Settings.bundle/en.lproj/Root.strings | Bin 0 -> 546 bytes linphone-Info.plist | 30 + linphone.xcodeproj/project.pbxproj | 740 ++++++++++++++++++++ linphone_Prefix.pch | 8 + linphonerc | 68 ++ main.m | 31 + untitled.plist | 8 + 15 files changed, 2830 insertions(+) create mode 100644 .gitignore create mode 100644 Classes/PhoneViewController.h create mode 100644 Classes/PhoneViewController.m create mode 100644 Classes/PhoneViewController.xib create mode 100644 Classes/linphoneAppDelegate.h create mode 100644 Classes/linphoneAppDelegate.m create mode 100644 PhoneMainView.xib create mode 100644 Settings.bundle/Root.plist create mode 100644 Settings.bundle/en.lproj/Root.strings create mode 100644 linphone-Info.plist create mode 100755 linphone.xcodeproj/project.pbxproj create mode 100644 linphone_Prefix.pch create mode 100644 linphonerc create mode 100644 main.m create mode 100644 untitled.plist diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..378eac25d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build diff --git a/Classes/PhoneViewController.h b/Classes/PhoneViewController.h new file mode 100644 index 000000000..df951dd74 --- /dev/null +++ b/Classes/PhoneViewController.h @@ -0,0 +1,95 @@ +/* PhoneViewController.h + * + * Copyright (C) 2009 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#import +#import +#import "linphonecore.h" + + + +@interface PhoneViewController : UIViewController { + +@private + //UI definition + UITextField* address; + UIButton* call; + UIButton* cancel; + UILabel* status; + + //key pad + UIButton* one; + UIButton* two; + UIButton* three; + UIButton* four; + UIButton* five; + UIButton* six; + UIButton* seven; + UIButton* eight; + UIButton* nine; + UIButton* star; + UIButton* zero; + UIButton* hash; + + /* + * lib linphone main context + */ + LinphoneCore* mCore; + int traceLevel; + +} +@property (nonatomic, retain) IBOutlet UITextField* address; +@property (nonatomic, retain) IBOutlet UIButton* call; +@property (nonatomic, retain) IBOutlet UIButton* cancel; +@property (nonatomic, retain) IBOutlet UILabel* status; + +@property (nonatomic, retain) IBOutlet UIButton* one; +@property (nonatomic, retain) IBOutlet UIButton* two; +@property (nonatomic, retain) IBOutlet UIButton* three; +@property (nonatomic, retain) IBOutlet UIButton* four; +@property (nonatomic, retain) IBOutlet UIButton* five; +@property (nonatomic, retain) IBOutlet UIButton* six; +@property (nonatomic, retain) IBOutlet UIButton* seven; +@property (nonatomic, retain) IBOutlet UIButton* eight; +@property (nonatomic, retain) IBOutlet UIButton* nine; +@property (nonatomic, retain) IBOutlet UIButton* star; +@property (nonatomic, retain) IBOutlet UIButton* zero; +@property (nonatomic, retain) IBOutlet UIButton* hash; + +/********************************** + * liblinphone initialization method + **********************************/ +-(void) startlibLinphone; + +/* + * liblinphone scheduling method; + */ +-(void) iterate; + +/******************** + * UI method handlers + ********************/ + +//method to handle cal/hangup events +- (IBAction)doAction:(id)sender; + +// method to handle keypad event +- (IBAction)doKeyPad:(id)sender; + + +-(PayloadType*) findPayload:(NSString*)type withRate:(int)rate from:(const MSList*)list; +@end diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m new file mode 100644 index 000000000..639685e7f --- /dev/null +++ b/Classes/PhoneViewController.m @@ -0,0 +1,415 @@ +/* PhoneViewController.h + * + * Copyright (C) 2009 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import "PhoneViewController.h" +#import "osip2/osip.h" +#import +#import + + +//generic log handler for debug version +void linphone_iphone_log_handler(OrtpLogLevel lev, const char *fmt, va_list args){ + NSString* format = [[NSString alloc] initWithCString:fmt encoding:[NSString defaultCStringEncoding]]; + NSLogv(format,args); + [format release]; +} + +//Error/warning log handler +void linphone_iphone_log(struct _LinphoneCore * lc, const char * message) { + NSLog([NSString stringWithCString:message length:strlen(message)]); +} +//status +void linphone_iphone_display_status(struct _LinphoneCore * lc, const char * message) { + PhoneViewController* lPhone = linphone_core_get_user_data(lc); + [lPhone.status setText:[NSString stringWithCString:message length:strlen(message)]]; +} + +void linphone_iphone_show(struct _LinphoneCore * lc) { + //nop +} +void linphone_iphone_call_received(LinphoneCore *lc, const char *from){ + //redirect audio to speaker + UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; + + AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute + , sizeof (audioRouteOverride) + , &audioRouteOverride); +}; + +LinphoneCoreVTable linphonec_vtable = { +.show =(ShowInterfaceCb) linphone_iphone_show, +.inv_recv = linphone_iphone_call_received, +.bye_recv = NULL, +.notify_recv = NULL, +.new_unknown_subscriber = NULL, +.auth_info_requested = NULL, +.display_status = linphone_iphone_display_status, +.display_message=linphone_iphone_log, +.display_warning=linphone_iphone_log, +.display_url=NULL, +.display_question=(DisplayQuestionCb)NULL, +.text_received=NULL, +.general_state=NULL, +.dtmf_received=NULL +}; + + + +@implementation PhoneViewController +@synthesize address ; +@synthesize call; +@synthesize cancel; +@synthesize status; + +@synthesize one; +@synthesize two; +@synthesize three; +@synthesize four; +@synthesize five; +@synthesize six; +@synthesize seven; +@synthesize eight; +@synthesize nine; +@synthesize star; +@synthesize zero; +@synthesize hash; + + +//implements call/cancel button behavior +-(IBAction) doAction:(id)sender { + + if (sender == call) { + if (!linphone_core_in_call(mCore)) { + const char* lCallee = [[address text] cStringUsingEncoding:[NSString defaultCStringEncoding]]; + linphone_core_invite(mCore,lCallee) ; + } + if (linphone_core_inc_invite_pending(mCore)) { + linphone_core_accept_call(mCore,NULL); + } + //Cancel audio route redirection + UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None; + + AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute + , sizeof (audioRouteOverride) + , &audioRouteOverride); + } else if (sender == cancel) { + linphone_core_terminate_call(mCore,NULL); + } + +} + +//implements keypad behavior +-(IBAction) doKeyPad:(id)sender { + if (linphone_core_in_call(mCore)) { + //incall behavior + if (sender == one) { + linphone_core_send_dtmf(mCore,'1'); + } else if (sender == two) { + linphone_core_send_dtmf(mCore,'2'); + } else if (sender == three) { + linphone_core_send_dtmf(mCore,'3'); + } else if (sender == four) { + linphone_core_send_dtmf(mCore,'4'); + } else if (sender == five) { + linphone_core_send_dtmf(mCore,'5'); + } else if (sender == six) { + linphone_core_send_dtmf(mCore,'6'); + } else if (sender == seven) { + linphone_core_send_dtmf(mCore,'7'); + } else if (sender == eight) { + linphone_core_send_dtmf(mCore,'8'); + } else if (sender == nine) { + linphone_core_send_dtmf(mCore,'9'); + } else if (sender == star) { + linphone_core_send_dtmf(mCore,'*'); + } else if (sender == zero) { + linphone_core_send_dtmf(mCore,'0'); + } else if (sender == hash) { + linphone_core_send_dtmf(mCore,'#'); + } else { + NSLog(@"unknown event from dial pad"); + } + } else { + //outcall behavior + //remove sip: if first digits + if ([address.text isEqualToString:@"sip:"]) { + [address setText:@""]; + } + NSString* newAddress = nil; + if (sender == one) { + newAddress = [address.text stringByAppendingString:@"1"]; + } else if (sender == two) { + newAddress = [address.text stringByAppendingString:@"2"]; + } else if (sender == three) { + newAddress = [address.text stringByAppendingString:@"3"]; + } else if (sender == four) { + newAddress = [address.text stringByAppendingString:@"4"]; + } else if (sender == five) { + newAddress = [address.text stringByAppendingString:@"5"]; + } else if (sender == six) { + newAddress = [address.text stringByAppendingString:@"6"]; + } else if (sender == seven) { + newAddress = [address.text stringByAppendingString:@"7"]; + } else if (sender == eight) { + newAddress = [address.text stringByAppendingString:@"8"]; + } else if (sender == nine) { + newAddress = [address.text stringByAppendingString:@"9"]; + } else if (sender == star) { + newAddress = [address.text stringByAppendingString:@"*"]; + } else if (sender == zero) { + newAddress = [address.text stringByAppendingString:@"0"]; + } else if (sender == hash) { + newAddress = [address.text stringByAppendingString:@"#"]; + } else { + NSLog(@"unknown event from diad pad"); + } + [address setText:newAddress]; + } +} + + +/* + // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { + } + + return self; +} +*/ + +/* +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; +} +*/ + +/* +// Override to allow orientations other than the default portrait orientation. +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationPortrait); +} +*/ + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +- (void)viewDidUnload { + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { + if (theTextField == address) { + [address resignFirstResponder]; + } + return YES; +} + + +/************* + *lib linphone init method + */ +-(void)startlibLinphone { + + //init audio session + NSError *setError = nil; + [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: &setError]; //must be call before linphone_core_init + + //get default config from bundle + NSBundle* myBundle = [NSBundle mainBundle]; + NSString* defaultConfigFile = [myBundle pathForResource:@"linphonerc"ofType:nil] ; +#if TARGET_IPHONE_SIMULATOR + NSDictionary *dictionary = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:NSFileImmutable]; + [[NSFileManager defaultManager] setAttributes:dictionary ofItemAtPath:defaultConfigFile error:nil]; +#endif + //log management + traceLevel = 9; + if (traceLevel > 0) { + //redirect all traces to the iphone log framework + linphone_core_enable_logs_with_cb(linphone_iphone_log_handler); + } + else { + linphone_core_disable_logs(); + } + + //register audio queue sound card + ms_au_register_card(); + + /* + * Initialize linphone core + */ + + mCore = linphone_core_new (&linphonec_vtable, [defaultConfigFile cStringUsingEncoding:[NSString defaultCStringEncoding]],self); + + // Set audio assets + const char* lRing = [[myBundle pathForResource:@"oldphone-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; + linphone_core_set_ring(mCore, lRing ); + const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; + linphone_core_set_ringback(mCore, lRingBack); + + + //configure sip account + //get data from Settings bundle + NSString* accountNameUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"account_preference"]; + const char* identity = [accountNameUri cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + NSString* accountPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"password_preference"]; + const char* password = [accountPassword cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + NSString* proxyUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"proxy_preference"]; + const char* proxy = [proxyUri cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + NSString* routeUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"route_preference"]; + const char* route = [routeUri cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + if (([accountNameUri length] + [proxyUri length]) >8 ) { + //possible valid config detected + LinphoneProxyConfig* proxyCfg; + //clear auth info list + linphone_core_clear_all_auth_info(mCore); + //get default proxy + linphone_core_get_default_proxy(mCore,&proxyCfg); + boolean_t addProxy=false; + if (proxyCfg == NULL) { + //create new proxy + proxyCfg = linphone_proxy_config_new(); + addProxy = true; + } else { + linphone_proxy_config_edit(proxyCfg); + } + + // add username password + osip_from_t *from; + LinphoneAuthInfo *info; + osip_from_init(&from); + if (osip_from_parse(from,identity)==0){ + info=linphone_auth_info_new(from->url->username,NULL,password,NULL,NULL); + linphone_core_add_auth_info(mCore,info); + } + osip_from_free(from); + + // configure proxy entries + linphone_proxy_config_set_identity(proxyCfg,identity); + linphone_proxy_config_set_server_addr(proxyCfg,proxy); + if ([routeUri length] > 4) { + linphone_proxy_config_set_route(proxyCfg,route); + } + linphone_proxy_config_enable_register(proxyCfg,TRUE); + if (addProxy) { + linphone_core_add_proxy_config(mCore,proxyCfg); + //set to default proxy + linphone_core_set_default_proxy(mCore,proxyCfg); + } else { + linphone_proxy_config_done(proxyCfg); + } + + } + + //Configure Codecs + + PayloadType *pt; + //get codecs from linphonerc + const MSList *audioCodecs=linphone_core_get_audio_codecs(mCore); + + //read from setting bundle + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"speex_32k_preference"]) { + if(pt = [self findPayload:@"speex"withRate:32000 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"speex_16k_preference"]) { + if(pt = [self findPayload:@"speex"withRate:16000 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"speex_8k_preference"]) { + if(pt = [self findPayload:@"speex"withRate:8000 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"gsm_22k_preference"]) { + if(pt = [self findPayload:@"GSM"withRate:22050 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"gsm_11k_preference"]) { + if(pt = [self findPayload:@"GSM"withRate:11025 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"gsm_8k_preference"]) { + if(pt = [self findPayload:@"GSM"withRate:8000 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"pcmu_preference"]) { + if(pt = [self findPayload:@"PCMU"withRate:8000 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"pcma_preference"]) { + if(pt = [self findPayload:@"PCMA"withRate:8000 from:audioCodecs]) { + payload_type_set_enable(pt,TRUE); + } + } + + + // start scheduler + [NSTimer scheduledTimerWithTimeInterval:0.1 + target:self + selector:@selector(iterate) + userInfo:nil + repeats:YES]; + +} +//scheduling loop +-(void) iterate { + linphone_core_iterate(mCore); +} + + +- (void)dealloc { + [address dealloc]; + [call dealloc]; + [cancel dealloc]; + [status dealloc]; + [super dealloc]; +} + +-(PayloadType*) findPayload:(NSString*)type withRate:(int)rate from:(const MSList*)list { + const MSList *elem; + for(elem=list;elem!=NULL;elem=elem->next){ + PayloadType *pt=(PayloadType*)elem->data; + if ([type isEqualToString:[NSString stringWithCString:payload_type_get_mime(pt) length:strlen(payload_type_get_mime(pt))]] && rate==pt->clock_rate) { + return pt; + } + } + return nil; + +} + +@end diff --git a/Classes/PhoneViewController.xib b/Classes/PhoneViewController.xib new file mode 100644 index 000000000..f564b719f --- /dev/null +++ b/Classes/PhoneViewController.xib @@ -0,0 +1,943 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + 292 + + YES + + + 292 + {{21, 20}, {280, 31}} + + NO + NO + 0 + sip: + 3 + + 3 + MAA + + 2 + + + YES + YES + 1.700000e+01 + + 3 + + + + 292 + {{21, 364}, {72, 59}} + + NO + NO + 0 + 0 + + Helvetica-Bold + 1.500000e+01 + 16 + + + 3 + MQA + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + 3 + MC41AA + + + NSImage + green.png + + + + + 292 + {{226, 364}, {74, 59}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + red.png + + + + + 292 + {{0, 431}, {312, 21}} + + NO + YES + NO + status + + 1 + MCAwIDAAA + + + 1 + 1.000000e+01 + + + + 292 + {{217, 117}, {83, 51}} + + NO + NO + 0 + 0 + + 1 + 3 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{21, 176}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 4 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{120, 176}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 5 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{217, 176}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 6 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{21, 236}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 7 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{120, 236}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 8 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{217, 236}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 9 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{120, 117}, {83, 51}} + + NO + NO + 0 + 0 + + 1 + 2 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{21, 117}, {83, 51}} + + NO + NO + 0 + 0 + + 1 + 1 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{21, 296}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + * + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{120, 298}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{217, 296}, {83, 52}} + + NO + NO + 0 + 0 + + 1 + # + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + 292 + {{101, 358}, {117, 65}} + + NO + NO + NO + + NSImage + linphone.png + + + + {320, 460} + + + 1 + MC4yMDMyNDkxNiAwLjQ2MDg0NzkxIDEAA + + 5 + + + + + YES + + + address + + + + 12 + + + + call + + + + 13 + + + + cancel + + + + 14 + + + + status + + + + 15 + + + + doAction: + + + 7 + + 18 + + + + delegate + + + + 19 + + + + doAction: + + + 7 + + 20 + + + + view + + + + 25 + + + + eight + + + + 43 + + + + five + + + + 44 + + + + four + + + + 45 + + + + hash + + + + 46 + + + + nine + + + + 47 + + + + one + + + + 48 + + + + seven + + + + 49 + + + + six + + + + 50 + + + + star + + + + 51 + + + + three + + + + 52 + + + + two + + + + 53 + + + + zero + + + + 54 + + + + doKeyPad: + + + 7 + + 67 + + + + doKeyPad: + + + 7 + + 68 + + + + doKeyPad: + + + 7 + + 69 + + + + doKeyPad: + + + 7 + + 70 + + + + doKeyPad: + + + 7 + + 71 + + + + doKeyPad: + + + 7 + + 72 + + + + doKeyPad: + + + 7 + + 73 + + + + doKeyPad: + + + 7 + + 74 + + + + doKeyPad: + + + 7 + + 75 + + + + doKeyPad: + + + 7 + + 76 + + + + doKeyPad: + + + 7 + + 77 + + + + doKeyPad: + + + 7 + + 78 + + + + + YES + + 0 + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 1 + + + YES + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + 4 + + + + + 6 + + + + + 5 + + + + + 29 + + + + + 30 + + + + + 31 + + + + + 33 + + + + + 34 + + + + + 35 + + + + + 36 + + + + + 37 + + + + + 38 + + + + + 39 + + + + + 40 + + + + + 41 + + + + + 42 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 29.IBPluginDependency + 30.IBPluginDependency + 31.IBPluginDependency + 33.IBPluginDependency + 34.IBPluginDependency + 35.IBPluginDependency + 36.IBPluginDependency + 37.IBPluginDependency + 38.IBPluginDependency + 39.IBPluginDependency + 4.IBPluginDependency + 40.IBPluginDependency + 41.IBPluginDependency + 42.IBPluginDependency + 5.IBPluginDependency + 6.IBPluginDependency + 7.IBPluginDependency + + + YES + PhoneViewController + UIResponder + {{581, 299}, {320, 460}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 79 + + + + YES + + PhoneViewController + UIViewController + + YES + + YES + doAction: + doKeyPad: + + + YES + id + id + + + + YES + + YES + address + call + cancel + eight + five + four + hash + nine + one + seven + six + star + status + three + two + zero + + + YES + UITextField + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UILabel + UIButton + UIButton + UIButton + + + + IBProjectSource + Classes/PhoneViewController.h + + + + PhoneViewController + UIViewController + + IBUserSource + + + + + + 0 + ../linphone.xcodeproj + 3 + 3.1 + + diff --git a/Classes/linphoneAppDelegate.h b/Classes/linphoneAppDelegate.h new file mode 100644 index 000000000..8d13d6c24 --- /dev/null +++ b/Classes/linphoneAppDelegate.h @@ -0,0 +1,37 @@ +/* linphoneAppDelegate.h + * + * Copyright (C) 2009 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import + +@class linphone; + + +@class PhoneViewController; + +@interface linphoneAppDelegate : NSObject { + UIWindow *window; + PhoneViewController *myViewController; + +} + +@property (nonatomic, retain) IBOutlet UIWindow *window; +@property (nonatomic, retain) IBOutlet PhoneViewController *myViewController; + +@end + diff --git a/Classes/linphoneAppDelegate.m b/Classes/linphoneAppDelegate.m new file mode 100644 index 000000000..833c7ec47 --- /dev/null +++ b/Classes/linphoneAppDelegate.m @@ -0,0 +1,61 @@ +/* linphoneAppDelegate.m + * + * Copyright (C) 2009 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import "PhoneViewController.h" +#import "linphoneAppDelegate.h" + + + +@implementation linphoneAppDelegate + +@synthesize window; +@synthesize myViewController; + +- (void)applicationDidFinishLaunching:(UIApplication *)application { + + PhoneViewController *aViewController = [[PhoneViewController alloc] + initWithNibName:@"PhoneViewController" bundle:[NSBundle mainBundle]]; + + [self setMyViewController:aViewController]; + [aViewController release]; + + //offset the status bar + CGRect rect = myViewController.view.frame; + rect = CGRectOffset(rect, 0.0, 20.0); + myViewController.view.frame = rect; + + [window addSubview:[myViewController view]]; + + //init lib linphone + [aViewController startlibLinphone] ; + + [window makeKeyAndVisible]; + + +} + + +- (void)dealloc { + [window release]; + [myViewController release]; + [super dealloc]; +} + + +@end diff --git a/PhoneMainView.xib b/PhoneMainView.xib new file mode 100644 index 000000000..557698096 --- /dev/null +++ b/PhoneMainView.xib @@ -0,0 +1,218 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + + 1316 + + {320, 480} + + 1 + MSAxIDEAA + + NO + NO + + + + + + YES + + + delegate + + + + 6 + + + + window + + + + 7 + + + + + YES + + 0 + + YES + + + + + + 2 + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + 4 + + + linphoneAppDelegate + + + -2 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 2.IBAttributePlaceholdersKey + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 2.UIWindow.visibleAtLaunch + 4.CustomClassName + 4.IBPluginDependency + + + YES + UIApplication + UIResponder + + YES + + YES + + + YES + + + {{190, 156}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + linphoneAppDelegate + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 7 + + + + YES + + PhoneViewController + UIViewController + + doAction: + id + + + YES + + YES + address + call + cancel + status + + + YES + UITextField + UIButton + UIButton + UILabel + + + + IBProjectSource + Classes/PhoneViewController.h + + + + linphoneAppDelegate + NSObject + + YES + + YES + myViewController + window + + + YES + PhoneViewController + UIWindow + + + + IBProjectSource + Classes/linphoneAppDelegate.h + + + + + 0 + linphone.xcodeproj + 3 + 3.1 + + diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist new file mode 100644 index 000000000..0e692f772 --- /dev/null +++ b/Settings.bundle/Root.plist @@ -0,0 +1,175 @@ + + + + + StringsTable + Root + PreferenceSpecifiers + + + Type + PSGroupSpecifier + Title + SIP account + + + Type + PSTextFieldSpecifier + Title + sip identity + Key + account_preference + DefaultValue + sip: + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + password + Key + password_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + proxy + Key + proxy_preference + DefaultValue + sip: + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + route + Key + route_preference + DefaultValue + sip: + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSGroupSpecifier + Title + Codecs + + + Type + PSToggleSwitchSpecifier + Title + Speex 32Khz + Key + speex_32k_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + Speex 16Khz + Key + speex_16k_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + Speex 8Khz + Key + speex_8k_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + GSM 22Khz + Key + gsm_22k_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + GSM 11Khz + Key + gsm_11k_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + GSM 8Khz + Key + gsm_8k_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + PCMU + Key + pcmu_preference + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + PCMA + Key + pcma_preference + DefaultValue + + + + + diff --git a/Settings.bundle/en.lproj/Root.strings b/Settings.bundle/en.lproj/Root.strings new file mode 100644 index 0000000000000000000000000000000000000000..8cd87b9d6b20c1fbf87bd4db3db267fca5ad4df9 GIT binary patch literal 546 zcmaixOHRW;5JYRuDMndFh#Ua1V1d}N;sVAV2TO?uC3a9aJn*VxFrY}tnon0(S66#J z-d9>G>6W!ur(SDqlp`9nn~*(m%iWnv?yq`Qfp6XbK1?+om~~#r)ZnhkYQU_VbfjuT zHNn`CX<0sd*m1A}>&5sU$akD=GTXJ1e literal 0 HcmV?d00001 diff --git a/linphone-Info.plist b/linphone-Info.plist new file mode 100644 index 000000000..1418f3cba --- /dev/null +++ b/linphone-Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + linphone2.png + CFBundleIdentifier + org.linphone.phone + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + NSMainNibFile + PhoneMainView + + diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj new file mode 100755 index 000000000..f28af75ee --- /dev/null +++ b/linphone.xcodeproj/project.pbxproj @@ -0,0 +1,740 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 1D3623260D0F684500981E51 /* linphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* linphoneAppDelegate.m */; }; + 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 220FAD3110765B400068D98F /* libeXosip2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2810765B400068D98F /* libeXosip2.a */; }; + 220FAD3210765B400068D98F /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2910765B400068D98F /* libgsm.a */; }; + 220FAD3310765B400068D98F /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2A10765B400068D98F /* liblinphone.a */; }; + 220FAD3410765B400068D98F /* libmediastreamer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2B10765B400068D98F /* libmediastreamer.a */; }; + 220FAD3510765B400068D98F /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2C10765B400068D98F /* libortp.a */; }; + 220FAD3610765B400068D98F /* libosip2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2D10765B400068D98F /* libosip2.a */; }; + 220FAD3710765B400068D98F /* libosipparser2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2E10765B400068D98F /* libosipparser2.a */; }; + 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 */; }; + 2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; }; + 2245667810768B7300F10948 /* linphone2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2245667710768B7300F10948 /* linphone2.png */; }; + 2245667A10768B9000F10948 /* linphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 2245667910768B9000F10948 /* linphone.png */; }; + 2245671D107699F700F10948 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2245671C107699F700F10948 /* Settings.bundle */; }; + 224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; }; + 2273785E10A3703300526073 /* libmsiounit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2273785D10A3703300526073 /* libmsiounit.a */; }; + 2273798810A48EF000526073 /* oldphone.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2273798710A48EF000526073 /* oldphone.wav */; }; + 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22744019106F31BD006EC466 /* CoreAudio.framework */; }; + 2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2274402E106F335E006EC466 /* AudioToolbox.framework */; }; + 2274550810700509006EC466 /* linphonerc in Resources */ = {isa = PBXBuildFile; fileRef = 2274550710700509006EC466 /* linphonerc */; }; + 22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* PhoneViewController.m */; }; + 22F2508F107141E100AC9B3F /* PhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22F2508D107141E100AC9B3F /* PhoneViewController.xib */; }; + 22F254811073D99800AC9B3F /* ringback.wav in Resources */ = {isa = PBXBuildFile; fileRef = 22F254801073D99800AC9B3F /* ringback.wav */; }; + 22F255151073EEE600AC9B3F /* green.png in Resources */ = {isa = PBXBuildFile; fileRef = 22F255131073EEE600AC9B3F /* green.png */; }; + 22F255161073EEE600AC9B3F /* red.png in Resources */ = {isa = PBXBuildFile; fileRef = 22F255141073EEE600AC9B3F /* red.png */; }; + 22F51EF6107FA66500F98953 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; }; + 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1D3623240D0F684500981E51 /* linphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphoneAppDelegate.h; sourceTree = ""; }; + 1D3623250D0F684500981E51 /* linphoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = linphoneAppDelegate.m; sourceTree = ""; }; + 1D6058910D05DD3D006BFB54 /* linphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = linphone.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 220FAC79107654FC0068D98F /* eX_call.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_call.h; sourceTree = ""; }; + 220FAC7A107654FC0068D98F /* eX_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_message.h; sourceTree = ""; }; + 220FAC7B107654FC0068D98F /* eX_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_options.h; sourceTree = ""; }; + 220FAC7C107654FC0068D98F /* eX_publish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_publish.h; sourceTree = ""; }; + 220FAC7D107654FC0068D98F /* eX_refer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_refer.h; sourceTree = ""; }; + 220FAC7E107654FC0068D98F /* eX_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_register.h; sourceTree = ""; }; + 220FAC7F107654FC0068D98F /* eX_setup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_setup.h; sourceTree = ""; }; + 220FAC80107654FC0068D98F /* eX_subscribe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eX_subscribe.h; sourceTree = ""; }; + 220FAC81107654FC0068D98F /* eXosip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eXosip.h; sourceTree = ""; }; + 220FAC83107654FC0068D98F /* gsm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gsm.h; sourceTree = ""; }; + 220FAC85107654FC0068D98F /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 220FAC86107654FC0068D98F /* linphonecore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphonecore.h; sourceTree = ""; }; + 220FAC87107654FC0068D98F /* lpconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpconfig.h; sourceTree = ""; }; + 220FAC88107654FC0068D98F /* sipsetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sipsetup.h; sourceTree = ""; }; + 220FAC8A107654FC0068D98F /* allfilters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = allfilters.h; sourceTree = ""; }; + 220FAC8B107654FC0068D98F /* dsptools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsptools.h; sourceTree = ""; }; + 220FAC8C107654FC0068D98F /* dtmfgen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtmfgen.h; sourceTree = ""; }; + 220FAC8D107654FC0068D98F /* ice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ice.h; sourceTree = ""; }; + 220FAC8E107654FC0068D98F /* mediastream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediastream.h; sourceTree = ""; }; + 220FAC8F107654FC0068D98F /* mscommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mscommon.h; sourceTree = ""; }; + 220FAC90107654FC0068D98F /* msequalizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msequalizer.h; sourceTree = ""; }; + 220FAC91107654FC0068D98F /* msfileplayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msfileplayer.h; sourceTree = ""; }; + 220FAC92107654FC0068D98F /* msfilerec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msfilerec.h; sourceTree = ""; }; + 220FAC93107654FC0068D98F /* msfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msfilter.h; sourceTree = ""; }; + 220FAC94107654FC0068D98F /* msqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msqueue.h; sourceTree = ""; }; + 220FAC95107654FC0068D98F /* msrtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msrtp.h; sourceTree = ""; }; + 220FAC96107654FC0068D98F /* mssndcard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mssndcard.h; sourceTree = ""; }; + 220FAC97107654FC0068D98F /* msspeexec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msspeexec.h; sourceTree = ""; }; + 220FAC98107654FC0068D98F /* mstee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mstee.h; sourceTree = ""; }; + 220FAC99107654FC0068D98F /* msticker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msticker.h; sourceTree = ""; }; + 220FAC9A107654FC0068D98F /* msv4l.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msv4l.h; sourceTree = ""; }; + 220FAC9B107654FC0068D98F /* msvideo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msvideo.h; sourceTree = ""; }; + 220FAC9C107654FC0068D98F /* msvideoout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msvideoout.h; sourceTree = ""; }; + 220FAC9D107654FC0068D98F /* msvolume.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msvolume.h; sourceTree = ""; }; + 220FAC9E107654FC0068D98F /* mswebcam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mswebcam.h; sourceTree = ""; }; + 220FAC9F107654FC0068D98F /* rfc3984.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rfc3984.h; sourceTree = ""; }; + 220FACA0107654FC0068D98F /* waveheader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = waveheader.h; sourceTree = ""; }; + 220FACA2107654FC0068D98F /* b64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b64.h; sourceTree = ""; }; + 220FACA3107654FC0068D98F /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event.h; sourceTree = ""; }; + 220FACA4107654FC0068D98F /* ortp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ortp.h; sourceTree = ""; }; + 220FACA5107654FC0068D98F /* payloadtype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = payloadtype.h; sourceTree = ""; }; + 220FACA6107654FC0068D98F /* port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = port.h; sourceTree = ""; }; + 220FACA7107654FC0068D98F /* rtcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtcp.h; sourceTree = ""; }; + 220FACA8107654FC0068D98F /* rtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtp.h; sourceTree = ""; }; + 220FACA9107654FC0068D98F /* rtpsession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtpsession.h; sourceTree = ""; }; + 220FACAA107654FC0068D98F /* rtpsignaltable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtpsignaltable.h; sourceTree = ""; }; + 220FACAB107654FC0068D98F /* sessionset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sessionset.h; sourceTree = ""; }; + 220FACAC107654FC0068D98F /* srtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srtp.h; sourceTree = ""; }; + 220FACAD107654FC0068D98F /* str_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = str_utils.h; sourceTree = ""; }; + 220FACAE107654FC0068D98F /* stun.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stun.h; sourceTree = ""; }; + 220FACAF107654FC0068D98F /* stun_udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stun_udp.h; sourceTree = ""; }; + 220FACB0107654FC0068D98F /* telephonyevents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = telephonyevents.h; sourceTree = ""; }; + 220FACB2107654FC0068D98F /* osip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip.h; sourceTree = ""; }; + 220FACB3107654FC0068D98F /* osip_condv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_condv.h; sourceTree = ""; }; + 220FACB4107654FC0068D98F /* osip_dialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_dialog.h; sourceTree = ""; }; + 220FACB5107654FC0068D98F /* osip_fifo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_fifo.h; sourceTree = ""; }; + 220FACB6107654FC0068D98F /* osip_mt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_mt.h; sourceTree = ""; }; + 220FACB7107654FC0068D98F /* osip_time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_time.h; sourceTree = ""; }; + 220FACBA107654FC0068D98F /* osip_accept.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_accept.h; sourceTree = ""; }; + 220FACBB107654FC0068D98F /* osip_accept_encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_accept_encoding.h; sourceTree = ""; }; + 220FACBC107654FC0068D98F /* osip_accept_language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_accept_language.h; sourceTree = ""; }; + 220FACBD107654FC0068D98F /* osip_alert_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_alert_info.h; sourceTree = ""; }; + 220FACBE107654FC0068D98F /* osip_allow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_allow.h; sourceTree = ""; }; + 220FACBF107654FC0068D98F /* osip_authentication_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_authentication_info.h; sourceTree = ""; }; + 220FACC0107654FC0068D98F /* osip_authorization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_authorization.h; sourceTree = ""; }; + 220FACC1107654FC0068D98F /* osip_call_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_call_id.h; sourceTree = ""; }; + 220FACC2107654FC0068D98F /* osip_call_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_call_info.h; sourceTree = ""; }; + 220FACC3107654FC0068D98F /* osip_contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_contact.h; sourceTree = ""; }; + 220FACC4107654FC0068D98F /* osip_content_disposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_content_disposition.h; sourceTree = ""; }; + 220FACC5107654FC0068D98F /* osip_content_encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_content_encoding.h; sourceTree = ""; }; + 220FACC6107654FC0068D98F /* osip_content_length.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_content_length.h; sourceTree = ""; }; + 220FACC7107654FC0068D98F /* osip_content_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_content_type.h; sourceTree = ""; }; + 220FACC8107654FC0068D98F /* osip_cseq.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_cseq.h; sourceTree = ""; }; + 220FACC9107654FC0068D98F /* osip_error_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_error_info.h; sourceTree = ""; }; + 220FACCA107654FC0068D98F /* osip_from.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_from.h; sourceTree = ""; }; + 220FACCB107654FC0068D98F /* osip_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_header.h; sourceTree = ""; }; + 220FACCC107654FC0068D98F /* osip_mime_version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_mime_version.h; sourceTree = ""; }; + 220FACCD107654FC0068D98F /* osip_proxy_authenticate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_proxy_authenticate.h; sourceTree = ""; }; + 220FACCE107654FC0068D98F /* osip_proxy_authentication_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_proxy_authentication_info.h; sourceTree = ""; }; + 220FACCF107654FC0068D98F /* osip_proxy_authorization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_proxy_authorization.h; sourceTree = ""; }; + 220FACD0107654FC0068D98F /* osip_record_route.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_record_route.h; sourceTree = ""; }; + 220FACD1107654FC0068D98F /* osip_route.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_route.h; sourceTree = ""; }; + 220FACD2107654FC0068D98F /* osip_to.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_to.h; sourceTree = ""; }; + 220FACD3107654FC0068D98F /* osip_via.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_via.h; sourceTree = ""; }; + 220FACD4107654FC0068D98F /* osip_www_authenticate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_www_authenticate.h; sourceTree = ""; }; + 220FACD5107654FC0068D98F /* osip_body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_body.h; sourceTree = ""; }; + 220FACD6107654FC0068D98F /* osip_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_const.h; sourceTree = ""; }; + 220FACD7107654FC0068D98F /* osip_headers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_headers.h; sourceTree = ""; }; + 220FACD8107654FC0068D98F /* osip_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_list.h; sourceTree = ""; }; + 220FACD9107654FC0068D98F /* osip_md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_md5.h; sourceTree = ""; }; + 220FACDA107654FC0068D98F /* osip_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_message.h; sourceTree = ""; }; + 220FACDB107654FC0068D98F /* osip_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_parser.h; sourceTree = ""; }; + 220FACDC107654FC0068D98F /* osip_port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_port.h; sourceTree = ""; }; + 220FACDD107654FC0068D98F /* osip_uri.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osip_uri.h; sourceTree = ""; }; + 220FACDE107654FC0068D98F /* sdp_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdp_message.h; sourceTree = ""; }; + 220FACE0107654FC0068D98F /* speex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex.h; sourceTree = ""; }; + 220FACE1107654FC0068D98F /* speex_bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_bits.h; sourceTree = ""; }; + 220FACE2107654FC0068D98F /* speex_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_buffer.h; sourceTree = ""; }; + 220FACE3107654FC0068D98F /* speex_callbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_callbacks.h; sourceTree = ""; }; + 220FACE4107654FC0068D98F /* speex_config_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_config_types.h; sourceTree = ""; }; + 220FACE5107654FC0068D98F /* speex_echo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_echo.h; sourceTree = ""; }; + 220FACE6107654FC0068D98F /* speex_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_header.h; sourceTree = ""; }; + 220FACE7107654FC0068D98F /* speex_jitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_jitter.h; sourceTree = ""; }; + 220FACE8107654FC0068D98F /* speex_preprocess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_preprocess.h; sourceTree = ""; }; + 220FACE9107654FC0068D98F /* speex_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_resampler.h; sourceTree = ""; }; + 220FACEA107654FC0068D98F /* speex_stereo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_stereo.h; sourceTree = ""; }; + 220FACEB107654FC0068D98F /* speex_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speex_types.h; sourceTree = ""; }; + 220FACF7107657EC0068D98F /* libeXosip2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = libeXosip2.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libeXosip2.a"; sourceTree = ""; }; + 220FACF8107657EC0068D98F /* libgsm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsm.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libgsm.a"; sourceTree = SOURCE_ROOT; }; + 220FACF9107657EC0068D98F /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/liblinphone.a"; sourceTree = SOURCE_ROOT; }; + 220FACFA107657EC0068D98F /* libmediastreamer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libmediastreamer.a"; sourceTree = SOURCE_ROOT; }; + 220FACFB107657EC0068D98F /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libortp.a"; sourceTree = SOURCE_ROOT; }; + 220FACFC107657EC0068D98F /* libosip2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libosip2.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libosip2.a"; sourceTree = SOURCE_ROOT; }; + 220FACFD107657EC0068D98F /* libosipparser2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libosipparser2.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libosipparser2.a"; sourceTree = SOURCE_ROOT; }; + 220FACFE107657EC0068D98F /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libspeex.a"; sourceTree = SOURCE_ROOT; }; + 220FACFF107657EC0068D98F /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libspeexdsp.a"; sourceTree = SOURCE_ROOT; }; + 220FAD17107659840068D98F /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../../liblinphone-sdk/i386-apple-darwin/lib/liblinphone.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2810765B400068D98F /* libeXosip2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libeXosip2.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libeXosip2.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2910765B400068D98F /* libgsm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsm.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libgsm.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2A10765B400068D98F /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/liblinphone.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2B10765B400068D98F /* libmediastreamer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libmediastreamer.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2C10765B400068D98F /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libortp.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2D10765B400068D98F /* libosip2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libosip2.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libosip2.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2E10765B400068D98F /* libosipparser2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libosipparser2.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libosipparser2.a"; sourceTree = SOURCE_ROOT; }; + 220FAD2F10765B400068D98F /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libspeex.a"; sourceTree = SOURCE_ROOT; }; + 220FAD3010765B400068D98F /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/libspeexdsp.a"; sourceTree = SOURCE_ROOT; }; + 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PhoneMainView.xib; sourceTree = ""; }; + 2237D4081084D7A9001383EE /* oldphone-mono.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "oldphone-mono.wav"; sourceTree = ""; }; + 2245667710768B7300F10948 /* linphone2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone2.png; path = ../../pixmaps/linphone2.png; sourceTree = SOURCE_ROOT; }; + 2245667910768B9000F10948 /* linphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone.png; path = ../../pixmaps/linphone.png; sourceTree = SOURCE_ROOT; }; + 2245671C107699F700F10948 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + 224567C1107B968500F10948 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 2273785D10A3703300526073 /* libmsiounit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsiounit.a; path = "../../liblinphone-sdk/armv6-apple-darwin/lib/mediastreamer/plugins/libmsiounit.a"; sourceTree = SOURCE_ROOT; }; + 2273798710A48EF000526073 /* oldphone.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = oldphone.wav; sourceTree = ""; }; + 22744019106F31BD006EC466 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 2274402E106F335E006EC466 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 22744043106F33FC006EC466 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + 22744056106F9BC9006EC466 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 2274550710700509006EC466 /* linphonerc */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = linphonerc; sourceTree = ""; }; + 22F2508B107141E100AC9B3F /* PhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneViewController.h; sourceTree = ""; }; + 22F2508C107141E100AC9B3F /* PhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneViewController.m; sourceTree = ""; }; + 22F2508D107141E100AC9B3F /* PhoneViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PhoneViewController.xib; path = Classes/PhoneViewController.xib; sourceTree = ""; }; + 22F254801073D99800AC9B3F /* ringback.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringback.wav; path = ../../share/ringback.wav; sourceTree = SOURCE_ROOT; }; + 22F255131073EEE600AC9B3F /* green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = green.png; path = ../../pixmaps/green.png; sourceTree = SOURCE_ROOT; }; + 22F255141073EEE600AC9B3F /* red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = red.png; path = ../../pixmaps/red.png; sourceTree = SOURCE_ROOT; }; + 22F51EF5107FA66500F98953 /* untitled.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = untitled.plist; sourceTree = ""; }; + 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 = ""; }; + 8D1107310486CEB800E47090 /* linphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "linphone-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, + 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */, + 2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */, + 220FAD3110765B400068D98F /* libeXosip2.a in Frameworks */, + 220FAD3210765B400068D98F /* libgsm.a in Frameworks */, + 220FAD3310765B400068D98F /* liblinphone.a in Frameworks */, + 220FAD3410765B400068D98F /* libmediastreamer.a in Frameworks */, + 220FAD3510765B400068D98F /* libortp.a in Frameworks */, + 220FAD3610765B400068D98F /* libosip2.a in Frameworks */, + 220FAD3710765B400068D98F /* libosipparser2.a in Frameworks */, + 220FAD3810765B400068D98F /* libspeex.a in Frameworks */, + 220FAD3910765B400068D98F /* libspeexdsp.a in Frameworks */, + 224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */, + 2273785E10A3703300526073 /* libmsiounit.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 1D3623240D0F684500981E51 /* linphoneAppDelegate.h */, + 1D3623250D0F684500981E51 /* linphoneAppDelegate.m */, + 22F2508B107141E100AC9B3F /* PhoneViewController.h */, + 22F2508C107141E100AC9B3F /* PhoneViewController.m */, + ); + path = Classes; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 1D6058910D05DD3D006BFB54 /* linphone.app */, + ); + name = Products; + sourceTree = ""; + }; + 220FAC77107654FC0068D98F /* include */ = { + isa = PBXGroup; + children = ( + 220FAC78107654FC0068D98F /* eXosip2 */, + 220FAC82107654FC0068D98F /* gsm */, + 220FAC84107654FC0068D98F /* linphone */, + 220FAC89107654FC0068D98F /* mediastreamer2 */, + 220FACA1107654FC0068D98F /* ortp */, + 220FACB1107654FC0068D98F /* osip2 */, + 220FACB8107654FC0068D98F /* osipparser2 */, + 220FACDF107654FC0068D98F /* speex */, + ); + name = include; + path = "../../liblinphone-sdk/armv6-apple-darwin/include"; + sourceTree = SOURCE_ROOT; + }; + 220FAC78107654FC0068D98F /* eXosip2 */ = { + isa = PBXGroup; + children = ( + 220FAC79107654FC0068D98F /* eX_call.h */, + 220FAC7A107654FC0068D98F /* eX_message.h */, + 220FAC7B107654FC0068D98F /* eX_options.h */, + 220FAC7C107654FC0068D98F /* eX_publish.h */, + 220FAC7D107654FC0068D98F /* eX_refer.h */, + 220FAC7E107654FC0068D98F /* eX_register.h */, + 220FAC7F107654FC0068D98F /* eX_setup.h */, + 220FAC80107654FC0068D98F /* eX_subscribe.h */, + 220FAC81107654FC0068D98F /* eXosip.h */, + ); + path = eXosip2; + sourceTree = ""; + }; + 220FAC82107654FC0068D98F /* gsm */ = { + isa = PBXGroup; + children = ( + 220FAC83107654FC0068D98F /* gsm.h */, + ); + path = gsm; + sourceTree = ""; + }; + 220FAC84107654FC0068D98F /* linphone */ = { + isa = PBXGroup; + children = ( + 220FAC85107654FC0068D98F /* config.h */, + 220FAC86107654FC0068D98F /* linphonecore.h */, + 220FAC87107654FC0068D98F /* lpconfig.h */, + 220FAC88107654FC0068D98F /* sipsetup.h */, + ); + path = linphone; + sourceTree = ""; + }; + 220FAC89107654FC0068D98F /* mediastreamer2 */ = { + isa = PBXGroup; + children = ( + 220FAC8A107654FC0068D98F /* allfilters.h */, + 220FAC8B107654FC0068D98F /* dsptools.h */, + 220FAC8C107654FC0068D98F /* dtmfgen.h */, + 220FAC8D107654FC0068D98F /* ice.h */, + 220FAC8E107654FC0068D98F /* mediastream.h */, + 220FAC8F107654FC0068D98F /* mscommon.h */, + 220FAC90107654FC0068D98F /* msequalizer.h */, + 220FAC91107654FC0068D98F /* msfileplayer.h */, + 220FAC92107654FC0068D98F /* msfilerec.h */, + 220FAC93107654FC0068D98F /* msfilter.h */, + 220FAC94107654FC0068D98F /* msqueue.h */, + 220FAC95107654FC0068D98F /* msrtp.h */, + 220FAC96107654FC0068D98F /* mssndcard.h */, + 220FAC97107654FC0068D98F /* msspeexec.h */, + 220FAC98107654FC0068D98F /* mstee.h */, + 220FAC99107654FC0068D98F /* msticker.h */, + 220FAC9A107654FC0068D98F /* msv4l.h */, + 220FAC9B107654FC0068D98F /* msvideo.h */, + 220FAC9C107654FC0068D98F /* msvideoout.h */, + 220FAC9D107654FC0068D98F /* msvolume.h */, + 220FAC9E107654FC0068D98F /* mswebcam.h */, + 220FAC9F107654FC0068D98F /* rfc3984.h */, + 220FACA0107654FC0068D98F /* waveheader.h */, + ); + path = mediastreamer2; + sourceTree = ""; + }; + 220FACA1107654FC0068D98F /* ortp */ = { + isa = PBXGroup; + children = ( + 220FACA2107654FC0068D98F /* b64.h */, + 220FACA3107654FC0068D98F /* event.h */, + 220FACA4107654FC0068D98F /* ortp.h */, + 220FACA5107654FC0068D98F /* payloadtype.h */, + 220FACA6107654FC0068D98F /* port.h */, + 220FACA7107654FC0068D98F /* rtcp.h */, + 220FACA8107654FC0068D98F /* rtp.h */, + 220FACA9107654FC0068D98F /* rtpsession.h */, + 220FACAA107654FC0068D98F /* rtpsignaltable.h */, + 220FACAB107654FC0068D98F /* sessionset.h */, + 220FACAC107654FC0068D98F /* srtp.h */, + 220FACAD107654FC0068D98F /* str_utils.h */, + 220FACAE107654FC0068D98F /* stun.h */, + 220FACAF107654FC0068D98F /* stun_udp.h */, + 220FACB0107654FC0068D98F /* telephonyevents.h */, + ); + path = ortp; + sourceTree = ""; + }; + 220FACB1107654FC0068D98F /* osip2 */ = { + isa = PBXGroup; + children = ( + 220FACB2107654FC0068D98F /* osip.h */, + 220FACB3107654FC0068D98F /* osip_condv.h */, + 220FACB4107654FC0068D98F /* osip_dialog.h */, + 220FACB5107654FC0068D98F /* osip_fifo.h */, + 220FACB6107654FC0068D98F /* osip_mt.h */, + 220FACB7107654FC0068D98F /* osip_time.h */, + ); + path = osip2; + sourceTree = ""; + }; + 220FACB8107654FC0068D98F /* osipparser2 */ = { + isa = PBXGroup; + children = ( + 220FACB9107654FC0068D98F /* headers */, + 220FACD5107654FC0068D98F /* osip_body.h */, + 220FACD6107654FC0068D98F /* osip_const.h */, + 220FACD7107654FC0068D98F /* osip_headers.h */, + 220FACD8107654FC0068D98F /* osip_list.h */, + 220FACD9107654FC0068D98F /* osip_md5.h */, + 220FACDA107654FC0068D98F /* osip_message.h */, + 220FACDB107654FC0068D98F /* osip_parser.h */, + 220FACDC107654FC0068D98F /* osip_port.h */, + 220FACDD107654FC0068D98F /* osip_uri.h */, + 220FACDE107654FC0068D98F /* sdp_message.h */, + ); + path = osipparser2; + sourceTree = ""; + }; + 220FACB9107654FC0068D98F /* headers */ = { + isa = PBXGroup; + children = ( + 220FACBA107654FC0068D98F /* osip_accept.h */, + 220FACBB107654FC0068D98F /* osip_accept_encoding.h */, + 220FACBC107654FC0068D98F /* osip_accept_language.h */, + 220FACBD107654FC0068D98F /* osip_alert_info.h */, + 220FACBE107654FC0068D98F /* osip_allow.h */, + 220FACBF107654FC0068D98F /* osip_authentication_info.h */, + 220FACC0107654FC0068D98F /* osip_authorization.h */, + 220FACC1107654FC0068D98F /* osip_call_id.h */, + 220FACC2107654FC0068D98F /* osip_call_info.h */, + 220FACC3107654FC0068D98F /* osip_contact.h */, + 220FACC4107654FC0068D98F /* osip_content_disposition.h */, + 220FACC5107654FC0068D98F /* osip_content_encoding.h */, + 220FACC6107654FC0068D98F /* osip_content_length.h */, + 220FACC7107654FC0068D98F /* osip_content_type.h */, + 220FACC8107654FC0068D98F /* osip_cseq.h */, + 220FACC9107654FC0068D98F /* osip_error_info.h */, + 220FACCA107654FC0068D98F /* osip_from.h */, + 220FACCB107654FC0068D98F /* osip_header.h */, + 220FACCC107654FC0068D98F /* osip_mime_version.h */, + 220FACCD107654FC0068D98F /* osip_proxy_authenticate.h */, + 220FACCE107654FC0068D98F /* osip_proxy_authentication_info.h */, + 220FACCF107654FC0068D98F /* osip_proxy_authorization.h */, + 220FACD0107654FC0068D98F /* osip_record_route.h */, + 220FACD1107654FC0068D98F /* osip_route.h */, + 220FACD2107654FC0068D98F /* osip_to.h */, + 220FACD3107654FC0068D98F /* osip_via.h */, + 220FACD4107654FC0068D98F /* osip_www_authenticate.h */, + ); + path = headers; + sourceTree = ""; + }; + 220FACDF107654FC0068D98F /* speex */ = { + isa = PBXGroup; + children = ( + 220FACE0107654FC0068D98F /* speex.h */, + 220FACE1107654FC0068D98F /* speex_bits.h */, + 220FACE2107654FC0068D98F /* speex_buffer.h */, + 220FACE3107654FC0068D98F /* speex_callbacks.h */, + 220FACE4107654FC0068D98F /* speex_config_types.h */, + 220FACE5107654FC0068D98F /* speex_echo.h */, + 220FACE6107654FC0068D98F /* speex_header.h */, + 220FACE7107654FC0068D98F /* speex_jitter.h */, + 220FACE8107654FC0068D98F /* speex_preprocess.h */, + 220FACE9107654FC0068D98F /* speex_resampler.h */, + 220FACEA107654FC0068D98F /* speex_stereo.h */, + 220FACEB107654FC0068D98F /* speex_types.h */, + ); + path = speex; + sourceTree = ""; + }; + 22F2546F1073D95B00AC9B3F /* rings */ = { + isa = PBXGroup; + children = ( + 2273798710A48EF000526073 /* oldphone.wav */, + 2237D4081084D7A9001383EE /* oldphone-mono.wav */, + ); + name = rings; + path = ../../share/rings; + sourceTree = SOURCE_ROOT; + }; + 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { + isa = PBXGroup; + children = ( + 2273785D10A3703300526073 /* libmsiounit.a */, + 220FAD2810765B400068D98F /* libeXosip2.a */, + 220FAD2910765B400068D98F /* libgsm.a */, + 220FAD2A10765B400068D98F /* liblinphone.a */, + 220FAD2B10765B400068D98F /* libmediastreamer.a */, + 220FAD2C10765B400068D98F /* libortp.a */, + 220FAD2D10765B400068D98F /* libosip2.a */, + 220FAD2E10765B400068D98F /* libosipparser2.a */, + 220FAD2F10765B400068D98F /* libspeex.a */, + 220FAD3010765B400068D98F /* libspeexdsp.a */, + 220FAD17107659840068D98F /* liblinphone.a */, + 220FACF7107657EC0068D98F /* libeXosip2.a */, + 220FACF8107657EC0068D98F /* libgsm.a */, + 220FACF9107657EC0068D98F /* liblinphone.a */, + 220FACFA107657EC0068D98F /* libmediastreamer.a */, + 220FACFB107657EC0068D98F /* libortp.a */, + 220FACFC107657EC0068D98F /* libosip2.a */, + 220FACFD107657EC0068D98F /* libosipparser2.a */, + 220FACFE107657EC0068D98F /* libspeex.a */, + 220FACFF107657EC0068D98F /* libspeexdsp.a */, + 220FAC77107654FC0068D98F /* include */, + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + 22744019106F31BD006EC466 /* CoreAudio.framework */, + 2274402E106F335E006EC466 /* AudioToolbox.framework */, + 22744043106F33FC006EC466 /* Security.framework */, + 22744056106F9BC9006EC466 /* CoreFoundation.framework */, + 2245671C107699F700F10948 /* Settings.bundle */, + 224567C1107B968500F10948 /* AVFoundation.framework */, + 22F51EF5107FA66500F98953 /* untitled.plist */, + ); + name = CustomTemplate; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 2245667910768B9000F10948 /* linphone.png */, + 2245667710768B7300F10948 /* linphone2.png */, + 22F255131073EEE600AC9B3F /* green.png */, + 22F255141073EEE600AC9B3F /* red.png */, + 22F254801073D99800AC9B3F /* ringback.wav */, + 22F2546F1073D95B00AC9B3F /* rings */, + 22F2508D107141E100AC9B3F /* PhoneViewController.xib */, + 8D1107310486CEB800E47090 /* linphone-Info.plist */, + 2274550710700509006EC466 /* linphonerc */, + 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, + 1D30AB110D05D00D00671497 /* Foundation.framework */, + 288765FC0DF74451002DB57D /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1D6058900D05DD3D006BFB54 /* linphone */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */; + buildPhases = ( + 1D60588D0D05DD3D006BFB54 /* Resources */, + 1D60588E0D05DD3D006BFB54 /* Sources */, + 1D60588F0D05DD3D006BFB54 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = linphone; + productName = linphone; + productReference = 1D6058910D05DD3D006BFB54 /* linphone.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D6058900D05DD3D006BFB54 /* linphone */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1D60588D0D05DD3D006BFB54 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2274550810700509006EC466 /* linphonerc in Resources */, + 22F2508F107141E100AC9B3F /* PhoneViewController.xib in Resources */, + 22F254811073D99800AC9B3F /* ringback.wav in Resources */, + 22F255151073EEE600AC9B3F /* green.png in Resources */, + 22F255161073EEE600AC9B3F /* red.png in Resources */, + 220FAE4B10767A6A0068D98F /* PhoneMainView.xib in Resources */, + 2245667810768B7300F10948 /* linphone2.png in Resources */, + 2245667A10768B9000F10948 /* linphone.png in Resources */, + 2245671D107699F700F10948 /* Settings.bundle in Resources */, + 22F51EF6107FA66500F98953 /* untitled.plist in Resources */, + 2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */, + 2273798810A48EF000526073 /* oldphone.wav in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1D60588E0D05DD3D006BFB54 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589B0D05DD56006BFB54 /* main.m in Sources */, + 1D3623260D0F684500981E51 /* linphoneAppDelegate.m in Sources */, + 22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1D6058940D05DD3E006BFB54 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = linphone_Prefix.pch; + HEADER_SEARCH_PATHS = ""; + "HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/include\""; + "HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../../liblinphone-sdk/i386-apple-darwin/include\""; + INFOPLIST_FILE = "linphone-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/lib/mediastreamer/plugins\"", + ); + "LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/lib\"/**"; + "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/i386-apple-darwin/lib\""; + PRODUCT_NAME = linphone; + SDKROOT = iphoneos3.0; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + }; + name = Debug; + }; + 1D6058950D05DD3E006BFB54 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = linphone_Prefix.pch; + "HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/include\""; + "HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../../liblinphone-sdk/i386-apple-darwin/include\""; + INFOPLIST_FILE = "linphone-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/lib/mediastreamer/plugins\"", + ); + "LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/lib\"/**"; + "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/i386-apple-darwin/lib\""; + PRODUCT_NAME = linphone; + }; + name = Release; + }; + 22F51EE7107FA53D00F98953 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LINK_WITH_STANDARD_LIBRARIES = YES; + PREBINDING = NO; + SDKROOT = iphoneos3.1; + }; + name = Distribution; + }; + 22F51EE8107FA53D00F98953 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_ENTITLEMENTS = untitled.plist; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = linphone_Prefix.pch; + HEADER_SEARCH_PATHS = ""; + "HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/include\""; + "HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../../liblinphone-sdk/i386-apple-darwin/include\""; + INFOPLIST_FILE = "linphone-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/lib/mediastreamer/plugins\"", + ); + "LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/armv6-apple-darwin/lib\"/**"; + "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = "\"$(SRCROOT)/../../liblinphone-sdk/i386-apple-darwin/lib\""; + PRODUCT_NAME = linphone; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; + SDKROOT = iphoneos3.0; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + }; + name = Distribution; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LINK_WITH_STANDARD_LIBRARIES = YES; + PREBINDING = NO; + SDKROOT = iphoneos3.1; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = iphoneos3.1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1D6058940D05DD3E006BFB54 /* Debug */, + 22F51EE8107FA53D00F98953 /* Distribution */, + 1D6058950D05DD3E006BFB54 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + 22F51EE7107FA53D00F98953 /* Distribution */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/linphone_Prefix.pch b/linphone_Prefix.pch new file mode 100644 index 000000000..aa4246941 --- /dev/null +++ b/linphone_Prefix.pch @@ -0,0 +1,8 @@ +// +// Prefix header for all source files of the 'linphone' target in the 'linphone' project +// + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/linphonerc b/linphonerc new file mode 100644 index 000000000..30522d6c0 --- /dev/null +++ b/linphonerc @@ -0,0 +1,68 @@ +[net] +download_bw=128 +upload_bw=128 +firewall_policy=0 +mtu=0 + +[sip] +sip_port=5060 +guess_hostname=1 +contact=sip:jehanmonnier@unknown-host +inc_timeout=15 +use_info=0 +use_ipv6=0 +register_only_when_network_is_up=0 +default_proxy=-1 + +[rtp] +audio_rtp_port=7076 +video_rtp_port=9078 +audio_jitt_comp=60 +video_jitt_comp=60 +nortp_timeout=30 + +[sound] +playback_dev_id=AU: Audio Unit +ringer_dev_id=AU: Audio Unit +capture_dev_id=AU: Audio Unit + +[audio_codec_0] +mime=speex +rate=32000 +enabled=0 + +[audio_codec_1] +mime=speex +rate=16000 +enabled=0 + +[audio_codec_2] +mime=speex +rate=8000 +enabled=0 + +[audio_codec_3] +mime=GSM +rate=22050 +enabled=0 + +[audio_codec_4] +mime=GSM +rate=11025 +enabled=0 + +[audio_codec_5] +mime=GSM +rate=8000 +enabled=0 + +[audio_codec_6] +mime=PCMU +rate=8000 +enabled=0 + +[audio_codec_7] +mime=PCMA +rate=8000 +enabled=0 + diff --git a/main.m b/main.m new file mode 100644 index 000000000..91c078334 --- /dev/null +++ b/main.m @@ -0,0 +1,31 @@ +/* main.c + * + * Copyright (C) 2009 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import + + +int main(int argc, char *argv[]) { + + + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, nil); + [pool release]; + return retVal; +} + diff --git a/untitled.plist b/untitled.plist new file mode 100644 index 000000000..ce373e19b --- /dev/null +++ b/untitled.plist @@ -0,0 +1,8 @@ + + + + + get-task-allow + + +