diff --git a/Classes/AboutViewController.h b/Classes/AboutViewController.h new file mode 100644 index 000000000..49d6669e4 --- /dev/null +++ b/Classes/AboutViewController.h @@ -0,0 +1,20 @@ +/* + * AboutViewController.h + * + * Description: + * + * + * Belledonne Communications (C) 2010 + * + * Copyright: See COPYING file that comes with this distribution + * + */ + +#import + + +@interface AboutViewController : UIViewController { + +} + +@end diff --git a/Classes/AboutViewController.m b/Classes/AboutViewController.m new file mode 100644 index 000000000..06e4dd94d --- /dev/null +++ b/Classes/AboutViewController.m @@ -0,0 +1,61 @@ +/* + * AboutViewController.m + * + * Description: + * + * + * Belledonne Communications (C) 2010 + * + * Copyright: See COPYING file that comes with this distribution + * + */ + +#import "AboutViewController.h" + + +@implementation AboutViewController + +/* + // 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]) { + // Custom initialization + } + 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; +} + + +- (void)dealloc { + [super dealloc]; +} + + +@end diff --git a/Classes/AboutViewController.xib b/Classes/AboutViewController.xib new file mode 100644 index 000000000..d0e7867ab --- /dev/null +++ b/Classes/AboutViewController.xib @@ -0,0 +1,175 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + 292 + + YES + + + 292 + {320, 460} + + NO + NO + 5 + NO + + NSImage + about.jpg + + + + {320, 460} + + + 3 + MQA + + 2 + + + + + + + + YES + + + view + + + + 3 + + + + + YES + + 0 + + YES + + + + + + 1 + + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 4 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 4.IBPluginDependency + + + YES + AboutViewController + UIResponder + {{449, 412}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 9 + + + + YES + + AboutViewController + UIViewController + + IBProjectSource + Classes/AboutViewController.h + + + + + 0 + ../linphone.xcodeproj + 3 + 3.1 + + diff --git a/Classes/CallHistoryTableViewController.h b/Classes/CallHistoryTableViewController.h index db06fa58e..d4630d69d 100644 --- a/Classes/CallHistoryTableViewController.h +++ b/Classes/CallHistoryTableViewController.h @@ -21,7 +21,9 @@ @interface CallHistoryTableViewController : GenericTabViewController { - + UIButton* clear; } +-(void) doAction:(id) sender; +@property (nonatomic, retain) IBOutlet UIButton* clear; @end diff --git a/Classes/CallHistoryTableViewController.m b/Classes/CallHistoryTableViewController.m index d3737b7c8..3e248bd8a 100644 --- a/Classes/CallHistoryTableViewController.m +++ b/Classes/CallHistoryTableViewController.m @@ -22,7 +22,7 @@ @implementation CallHistoryTableViewController - +@synthesize clear; /* - (id)initWithStyle:(UITableViewStyle)style { @@ -86,6 +86,12 @@ } +-(void) doAction:(id)sender { + if (sender==clear) { + linphone_core_clear_call_logs(myLinphoneCore); + [self.tableView reloadData]; + } +} #pragma mark Table view methods @@ -108,29 +114,40 @@ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; } // Set up the cell... - LinphoneCallLog* callLogs = ms_list_nth_data(linphone_core_get_call_logs(myLinphoneCore), indexPath.row) ; - const char* username = linphone_address_get_username(callLogs->to)!=0?linphone_address_get_username(callLogs->to):""; - - [cell.textLabel setText:[[NSString alloc] initWithCString:username encoding:[NSString defaultCStringEncoding]]]; + LinphoneAddress* partyToDisplay; + const MSList * logs = linphone_core_get_call_logs(myLinphoneCore); + LinphoneCallLog* callLogs = ms_list_nth_data(logs, ms_list_size(logs)-indexPath.row-1) ; - NSString *path; - if (callLogs->dir == LinphoneCallIncoming) { path = [[NSBundle mainBundle] pathForResource:@"in_call" ofType:@"png"]; - + partyToDisplay=callLogs->from; + } else { path = [[NSBundle mainBundle] pathForResource:@"out_call" ofType:@"png"]; - + partyToDisplay=callLogs->to; + } UIImage *image = [UIImage imageWithContentsOfFile:path]; cell.imageView.image = image; cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; + + const char* username = linphone_address_get_username(partyToDisplay)!=0?linphone_address_get_username(partyToDisplay):""; + const char* displayName = linphone_address_get_display_name(partyToDisplay); + if (displayName) { + [cell.textLabel setText:[[NSString alloc] initWithCString:displayName encoding:[NSString defaultCStringEncoding]]]; + [cell.detailTextLabel setText:[NSString stringWithFormat:@"%s"/* [%s]"*/,username/*,callLogs->start_date*/]]; + } else { + [cell.textLabel setText:[[NSString alloc] initWithCString:username encoding:[NSString defaultCStringEncoding]]]; + } + + + return cell; } @@ -142,9 +159,22 @@ // [anotherViewController release]; [tableView deselectRowAtIndexPath:indexPath animated:NO]; - LinphoneCallLog* callLogs = ms_list_nth_data(linphone_core_get_call_logs(myLinphoneCore), indexPath.row) ; - const char* username = linphone_address_get_username(callLogs->to)!=0?linphone_address_get_username(callLogs->to):""; - [self.phoneControllerDelegate setPhoneNumber:[[NSString alloc] initWithCString:username encoding:[NSString defaultCStringEncoding]]]; + const MSList * logs = linphone_core_get_call_logs(myLinphoneCore); + LinphoneCallLog* callLogs = ms_list_nth_data(logs, ms_list_size(logs)-indexPath.row-1) ; + LinphoneAddress* partyToCall; + if (callLogs->dir == LinphoneCallIncoming) { + partyToCall=callLogs->from; + + } else { + partyToCall=callLogs->to; + + } + const char* username = linphone_address_get_username(partyToCall)!=0?linphone_address_get_username(partyToCall):""; + const char* displayName = linphone_address_get_display_name(partyToCall)!=0?linphone_address_get_display_name(partyToCall):""; + [self.phoneControllerDelegate + setPhoneNumber:[[NSString alloc] initWithCString:username encoding:[NSString defaultCStringEncoding]] + withDisplayName:[[NSString alloc] initWithCString:displayName encoding:[NSString defaultCStringEncoding]]]; + [self.linphoneDelegate selectDialerTab]; } diff --git a/Classes/CallHistoryTableViewController.xib b/Classes/CallHistoryTableViewController.xib index f68b21c32..31af7e700 100644 --- a/Classes/CallHistoryTableViewController.xib +++ b/Classes/CallHistoryTableViewController.xib @@ -58,6 +58,20 @@ 292 YES + + + 292 + {320, 44} + + NO + NO + 4 + NO + + NSImage + pleca_gris.png + + 292 @@ -66,7 +80,7 @@ NO YES NO - Rencent Calls + Llamadas Recentes 1 MCAwIDAAA @@ -79,8 +93,12 @@ 292 - {{238, 0}, {72, 37}} + {{255, 3}, {51, 37}} + + 1 + MSAxIDEgMAA + NO NO 0 @@ -90,8 +108,6 @@ 1.500000e+01 16 - 1 - Clear 1 @@ -101,6 +117,14 @@ 3 MC41AA + + NSImage + bot_borrar2.png + + + NSImage + bot_borrar1.png + {320, 44} @@ -147,6 +171,23 @@ 11 + + + clear + + + + 13 + + + + doAction: + + + 7 + + 14 + @@ -181,6 +222,7 @@ YES + @@ -195,6 +237,12 @@ 10 + clear + + + 12 + + @@ -205,6 +253,7 @@ -1.CustomClassName -2.CustomClassName 10.IBPluginDependency + 12.IBPluginDependency 4.IBEditorWindowLastContentRect 4.IBPluginDependency 8.IBEditorWindowLastContentRect @@ -216,9 +265,10 @@ CallHistoryTableViewController UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin {{393, 486}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{520, 620}, {320, 44}} + {{432, 315}, {320, 44}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -243,7 +293,7 @@ - 11 + 14 @@ -251,6 +301,14 @@ CallHistoryTableViewController GenericTabViewController + + doAction: + id + + + clear + UIButton + IBProjectSource Classes/CallHistoryTableViewController.h diff --git a/Classes/ConsoleViewController.h b/Classes/ConsoleViewController.h new file mode 100644 index 000000000..a7181c721 --- /dev/null +++ b/Classes/ConsoleViewController.h @@ -0,0 +1,33 @@ +/* + * ConsoleViewController.h + * + * Description: + * + * + * Belledonne Communications (C) 2010 + * + * Copyright: See COPYING file that comes with this distribution + * + */ + + +#import + +@protocol LogView ++(void) addLog:(NSString*) log; + +@end + +@interface ConsoleViewController : UIViewController { + UITextView* logs; + UIView* logsView; + + +} +-(void) doAction; +@property (nonatomic, retain) IBOutlet UITextView* logs; +@property (nonatomic, retain) IBOutlet UIButton* clear; +@property (nonatomic, retain) IBOutlet UIView* logsView; + + +@end diff --git a/Classes/ConsoleViewController.m b/Classes/ConsoleViewController.m new file mode 100644 index 000000000..fe0274112 --- /dev/null +++ b/Classes/ConsoleViewController.m @@ -0,0 +1,97 @@ +/* + * ConsoleViewController.h + * + * Description: + * + * + * Belledonne Communications (C) 2010 + * + * Copyright: See COPYING file that comes with this distribution + * + */ + + +#import "ConsoleViewController.h" + + +@implementation ConsoleViewController +NSMutableString* MoreViewController_logs; + +@synthesize logs; +@synthesize logsView; + +/* + // 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]) { + // Custom initialization + } + return self; +} +*/ + + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; + UIBarButtonItem* clear = [[UIBarButtonItem alloc] initWithCustomView: [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bot_borrar1.png"]]]; + [clear setTarget:self]; + [clear setAction:@selector(doAction)]; + [self.navigationItem setRightBarButtonItem:clear]; +} + + +/* +// Override to allow orientations other than the default portrait orientation. +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationPortrait); +} +*/ + +-(void) viewWillAppear:(BOOL)animated { + [logs setText:MoreViewController_logs]; +} + +- (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; +} + + ++(void) addLog:(NSString*) log { + @synchronized(self) { + if (!MoreViewController_logs) { + MoreViewController_logs = [[NSMutableString alloc] init]; + } + [MoreViewController_logs appendString:log]; + if (MoreViewController_logs.length > 50000) { + NSRange range = {0,log.length}; + [MoreViewController_logs deleteCharactersInRange:range]; + } + } +} +-(void) doAction{ + @synchronized(self) { + NSMutableString* oldString = MoreViewController_logs; + MoreViewController_logs = [[NSMutableString alloc] init]; + [oldString release]; + [logs setText:@""]; + } +} + + + +- (void)dealloc { + [super dealloc]; +} + + +@end diff --git a/Classes/ConsoleViewController.xib b/Classes/ConsoleViewController.xib new file mode 100644 index 000000000..8087014af --- /dev/null +++ b/Classes/ConsoleViewController.xib @@ -0,0 +1,232 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + 292 + + YES + + + 292 + + YES + + + 274 + {{0, 50}, {320, 450}} + + + 1 + MSAxIDEAA + + YES + YES + NO + NO + NO + NO + NO + + + 2 + + + + {320, 460} + + + 3 + MQA + + 2 + + + NO + + + {320, 460} + + + 3 + MQA + + + + + + + + YES + + + view + + + + 3 + + + + logs + + + + 9 + + + + + YES + + 0 + + YES + + + + + + 1 + + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 4 + + + YES + + + + logView + + + 7 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 4.IBPluginDependency + 7.IBPluginDependency + + + YES + ConsoleViewController + UIResponder + {{556, 412}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 9 + + + + YES + + ConsoleViewController + UIViewController + + YES + + YES + clear + logs + logsView + + + YES + UIButton + UITextView + UIView + + + + IBProjectSource + Classes/ConsoleViewController.h + + + + + 0 + ../linphone.xcodeproj + 3 + 3.1 + + diff --git a/Classes/ContactPickerDelegate.h b/Classes/ContactPickerDelegate.h index 63708a46b..2e6bfad1c 100644 --- a/Classes/ContactPickerDelegate.h +++ b/Classes/ContactPickerDelegate.h @@ -24,10 +24,10 @@ @interface ContactPickerDelegate : NSObject { id phoneControllerDelegate; - id linphoneDelegate; + id linphoneDelegate; } @property (nonatomic, retain) id phoneControllerDelegate; -@property (nonatomic, retain) id linphoneDelegate; +@property (nonatomic, retain) id linphoneDelegate; @end diff --git a/Classes/ContactPickerDelegate.m b/Classes/ContactPickerDelegate.m index b66a5db09..c6a5bc964 100644 --- a/Classes/ContactPickerDelegate.m +++ b/Classes/ContactPickerDelegate.m @@ -38,7 +38,7 @@ CFTypeRef multiValue = ABRecordCopyValue(person, property); CFIndex valueIdx = ABMultiValueGetIndexForIdentifier(multiValue,identifier); NSString *phoneNumber = (NSString *)ABMultiValueCopyValueAtIndex(multiValue, valueIdx); - [phoneControllerDelegate setPhoneNumber:phoneNumber]; + [phoneControllerDelegate setPhoneNumber:phoneNumber withDisplayName:ABRecordCopyCompositeName(person)]; [linphoneDelegate selectDialerTab]; return false; diff --git a/Classes/FavoriteEditViewController.h b/Classes/FavoriteEditViewController.h new file mode 100644 index 000000000..d14662a93 --- /dev/null +++ b/Classes/FavoriteEditViewController.h @@ -0,0 +1,39 @@ +/* + * FavoriteEditViewController.h + * + * Description: + * + * + * Belledonne Communications (C) 2010 + * + * Copyright: See COPYING file that comes with this distribution + * + */ +#import +#include "linphonecore.h" + + +@interface FavoriteEditViewController : UIViewController { + UIButton* ok; + UITextField* number; + UILabel* name; + NSString* initialPhoneNumber; + NSString* initialName; + int favoriteIndex; + LinphoneCore* myLinphoneCore; + + +} +- (IBAction)doOk:(id)sender; +-(void) setLinphoneCore:(LinphoneCore*) lc; + +@property (nonatomic, retain) IBOutlet UIButton* ok; +@property (nonatomic, retain) IBOutlet UITextField* number; +@property (nonatomic, retain) IBOutlet UILabel* name; +@property (nonatomic, retain) NSString* initialPhoneNumber; +@property (nonatomic, retain) NSString* initialName; + +@property int favoriteIndex; + +@end + diff --git a/Classes/FavoriteEditViewController.m b/Classes/FavoriteEditViewController.m new file mode 100644 index 000000000..42510eb3d --- /dev/null +++ b/Classes/FavoriteEditViewController.m @@ -0,0 +1,91 @@ +/* FavoriteEditViewController.h + * + * Copyright (C) 2010 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 "FavoriteEditViewController.h" + + +@implementation FavoriteEditViewController + +@synthesize ok; +@synthesize number; +@synthesize initialPhoneNumber; +@synthesize favoriteIndex; +@synthesize name; +@synthesize initialName; +/* + // 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]) { + // Custom initialization + } + return self; +} +*/ + +/* +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void)loadView { +} +*/ + + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; + [number setText:initialPhoneNumber]; + [name setText:initialName]; + [number becomeFirstResponder]; +} + + +/* +// 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; +} + + +- (void)dealloc { + [super dealloc]; +} + +-(void) setLinphoneCore:(LinphoneCore*) lc { + myLinphoneCore = lc; +} +- (IBAction)doOk:(id)sender { + LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), favoriteIndex); + linphone_address_set_username(linphone_friend_get_uri(friend), [number.text cStringUsingEncoding:[NSString defaultCStringEncoding]]); + [self dismissModalViewControllerAnimated:true]; +} + +@end diff --git a/Classes/FavoriteEditViewController.xib b/Classes/FavoriteEditViewController.xib new file mode 100644 index 000000000..0ffae10fd --- /dev/null +++ b/Classes/FavoriteEditViewController.xib @@ -0,0 +1,316 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + 292 + + YES + + + 292 + {{23, 49}, {198, 31}} + + NO + NO + YES + YES + 0 + + 3 + + 3 + MAA + + 2 + + + YES + 1.700000e+01 + + 5 + + + + + 292 + {{227, 46}, {72, 37}} + + NO + NO + 0 + 0 + + Helvetica-Bold + 1.500000e+01 + 16 + + ok + + 3 + MQA + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + 3 + MC41AA + + + NSImage + bot_ok2.png + + + NSImage + bot_ok1.png + + + + + 292 + {{0, 10}, {320, 21}} + + NO + YES + NO + + + 1 + MCAwIDAAA + + + 1 + 1.000000e+01 + 1 + + + {320, 106} + + + 1 + MC42MDAwMDAwMiAwLjYwMDAwMDAyIDAuNjAwMDAwMDIAA + + NO + NO + 4 + + + + + YES + + + delegate + + + + 6 + + + + view + + + + 9 + + + + ok + + + + 11 + + + + doOk: + + + 7 + + 12 + + + + number + + + + 13 + + + + name + + + + 15 + + + + + YES + + 0 + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 2 + + + YES + + + + + + editing + + + 3 + + + + + 4 + + + + + 14 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 14.IBPluginDependency + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 3.IBPluginDependency + 4.IBPluginDependency + + + YES + FavoriteEditViewController + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{183, 851}, {320, 106}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 15 + + + + YES + + FavoriteEditViewController + UIViewController + + doOk: + id + + + YES + + YES + name + number + ok + + + YES + UILabel + UITextField + UIButton + + + + IBProjectSource + Classes/FavoriteEditViewController.h + + + + + 0 + ../linphone.xcodeproj + 3 + 3.1 + + diff --git a/Classes/FavoriteTableViewController.h b/Classes/FavoriteTableViewController.h index 768d6b662..90e9c8580 100644 --- a/Classes/FavoriteTableViewController.h +++ b/Classes/FavoriteTableViewController.h @@ -20,6 +20,7 @@ #import #import "GenericTabViewController.h" +#import "FavoriteEditViewController.h" @interface FavoriteTableViewController : GenericTabViewController { UIButton* add; @@ -32,5 +33,6 @@ @property (nonatomic, retain) IBOutlet UIButton* add; @property (nonatomic, retain) IBOutlet UIButton* edit; + @end diff --git a/Classes/FavoriteTableViewController.m b/Classes/FavoriteTableViewController.m index 0cb53a688..5d0eceb1b 100644 --- a/Classes/FavoriteTableViewController.m +++ b/Classes/FavoriteTableViewController.m @@ -18,7 +18,7 @@ */ #import "FavoriteTableViewController.h" - +#import "AddressBook/AddressBook.h" @implementation FavoriteTableViewController @@ -33,14 +33,15 @@ } */ -/* + - (void)viewDidLoad { [super viewDidLoad]; - // Uncomment the following line to display an Edit button in the navigation bar for this view controller. + [self.tableView setAllowsSelectionDuringEditing:true]; + // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } -*/ + /* - (void)viewWillAppear:(BOOL)animated { @@ -87,7 +88,7 @@ - (IBAction)doAddFavorite:(id)sender { ABPeoplePickerNavigationController* peoplePickerController = [[[ABPeoplePickerNavigationController alloc] init] autorelease]; [peoplePickerController setPeoplePickerDelegate:self]; - + [peoplePickerController setDisplayedProperties:[NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonPhoneProperty]]]; [self presentModalViewController: peoplePickerController animated:true]; } - (IBAction)doEditFavorite:(id)sender { @@ -96,14 +97,18 @@ } if (self.tableView.editing) { [self.tableView setEditing:false animated:true]; - [self.edit setTitle:@"Edit" forState: UIControlStateNormal]; + [self.edit setImage:[UIImage imageNamed:@"boton_editar_1.png"] forState:UIControlStateNormal]; + [self.edit setImage:[UIImage imageNamed:@"boton_editar_2.png"] forState:UIControlStateHighlighted]; } else { [self.tableView setEditing:true animated:true]; - [self.edit setTitle:@"Ok" forState: UIControlStateNormal]; + [self.edit setImage:[UIImage imageNamed:@"bot_ok1.png"] forState:UIControlStateNormal]; + [self.edit setImage:[UIImage imageNamed:@"bot_ok2.png"] forState:UIControlStateHighlighted]; + } } #pragma mark Table view methods + - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } @@ -123,12 +128,18 @@ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; } LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), indexPath.row); const char* name = linphone_address_get_username(linphone_friend_get_uri(friend)); + const char* displayName = linphone_address_get_display_name(linphone_friend_get_uri(friend)); - [cell.textLabel setText:[[NSString alloc] initWithCString:name encoding:[NSString defaultCStringEncoding]]]; + if (displayName) { + [cell.textLabel setText:[[NSString alloc] initWithCString:displayName encoding:[NSString defaultCStringEncoding]]]; + [cell.detailTextLabel setText:[NSString stringWithFormat:@"%s",name]]; + } else { + [cell.textLabel setText:[NSString stringWithFormat:@"%s",name]]; + } cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; return cell; @@ -147,11 +158,29 @@ // AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil]; // [self.navigationController pushViewController:anotherViewController]; // [anotherViewController release]; - LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), indexPath.row); + LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), indexPath.row); const char* name = linphone_address_get_username(linphone_friend_get_uri(friend)); - [phoneControllerDelegate setPhoneNumber:[[NSString alloc] initWithCString:name encoding:[NSString defaultCStringEncoding]]]; - [linphoneDelegate selectDialerTab]; + const char* displayName = linphone_address_get_display_name(linphone_friend_get_uri(friend))!=0 + ?linphone_address_get_display_name(linphone_friend_get_uri(friend)) + :""; + NSString* phoneNumer = [[NSString alloc] initWithCString:name encoding:[NSString defaultCStringEncoding]]; + NSString* displayNameAsString = [[NSString alloc] initWithCString:displayName encoding:[NSString defaultCStringEncoding]]; + if (self.tableView.editing) { + // editing mode + FavoriteEditViewController* editController = [[[FavoriteEditViewController alloc] initWithNibName:@"FavoriteEditViewController" bundle:nil] autorelease]; + [editController setInitialPhoneNumber:phoneNumer]; + [editController setLinphoneCore:myLinphoneCore]; + [editController setFavoriteIndex:indexPath.row]; + [editController setInitialName:displayNameAsString]; + [self presentModalViewController:editController animated:true]; + + } else { + [phoneControllerDelegate + setPhoneNumber:phoneNumer + withDisplayName:displayNameAsString]; + [linphoneDelegate selectDialerTab]; + } } @@ -221,9 +250,8 @@ LinphoneFriend * newFriend = linphone_friend_new_with_addr([phoneUri cStringUsingEncoding:[NSString defaultCStringEncoding]]); - linphone_friend_set_name(newFriend,[compositeName cStringUsingEncoding:[NSString defaultCStringEncoding]]); + linphone_address_set_display_name(linphone_friend_get_uri(newFriend),[compositeName cStringUsingEncoding:[NSString defaultCStringEncoding]]); linphone_friend_send_subscribe(newFriend, false); - //linphone_friend_set_sip_addr(newFriend, const char *uri); linphone_core_add_friend(myLinphoneCore, newFriend); [self dismissModalViewControllerAnimated:true]; return false; diff --git a/Classes/FavoriteTableViewController.xib b/Classes/FavoriteTableViewController.xib index d24219858..42ba29a95 100644 --- a/Classes/FavoriteTableViewController.xib +++ b/Classes/FavoriteTableViewController.xib @@ -8,8 +8,8 @@ 353.00 YES + - YES @@ -58,6 +58,20 @@ 292 YES + + + 292 + {320, 44} + + NO + NO + 4 + NO + + NSImage + pleca_gris.png + + 292 @@ -66,7 +80,7 @@ NO YES NO - Favorites + Favoritos 1 MCAwIDAAA @@ -83,7 +97,7 @@ 292 - {{264, 3}, {44, 37}} + {{264, 5}, {37, 34}} NO NO @@ -94,8 +108,6 @@ 1.500000e+01 16 - 1 - + 1 @@ -105,25 +117,39 @@ 3 MC41AA + + NSImage + boton_agregar_2.png + + + NSImage + boton_agregar_1.png + 292 - {{6, 3}, {61, 37}} + {{6, 3}, {57, 37}} NO NO 0 0 - 1 - Edit 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_editar_2.png + + + NSImage + boton_editar_1.png + {320, 44} @@ -239,6 +265,7 @@ YES + @@ -261,6 +288,11 @@ edit + + 17 + + + @@ -271,6 +303,7 @@ -2.CustomClassName 10.IBPluginDependency 11.IBPluginDependency + 17.IBPluginDependency 4.IBEditorWindowLastContentRect 4.IBPluginDependency 8.IBEditorWindowLastContentRect @@ -283,9 +316,10 @@ UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{441, 269}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{312, 742}, {320, 44}} + {{81, 523}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{289, 832}, {320, 44}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -310,7 +344,7 @@ - 16 + 23 diff --git a/Classes/FirstLoginViewController.h b/Classes/FirstLoginViewController.h new file mode 100644 index 000000000..0396c2530 --- /dev/null +++ b/Classes/FirstLoginViewController.h @@ -0,0 +1,41 @@ +/* + * FirstLoginViewController.h + * + * Description: + * + * + * Belledonne Communications (C) 2009 + * + * Copyright: See COPYING file that comes with this distribution + * + */ + + +#import +#include "linphoneAppDelegate.h" + + +@interface FirstLoginViewController : UIViewController { + UIButton* ok; + UIButton* site; + UITextField* identity; + UITextField* passwd; + UITextField* domain; + UITextField* axtelPin; + UIView* activityIndicator; + + id mainDelegate; + +} +-(void) doOk:(id)sender; +-(void) callStateChange:(LinphoneGeneralState*) state; +-(void) authInfoRequested; +@property (nonatomic, retain) IBOutlet UIButton* ok; +@property (nonatomic, retain) IBOutlet UIButton* site; +@property (nonatomic, retain) IBOutlet UITextField* identity; +@property (nonatomic, retain) IBOutlet UITextField* passwd; +@property (nonatomic, retain) IBOutlet UITextField* domain; +@property (nonatomic, retain) IBOutlet UITextField* axtelPin; +@property (nonatomic, retain) IBOutlet UIView* activityIndicator; +@property (nonatomic, retain) id mainDelegate; +@end diff --git a/Classes/FirstLoginViewController.m b/Classes/FirstLoginViewController.m new file mode 100644 index 000000000..39279fa22 --- /dev/null +++ b/Classes/FirstLoginViewController.m @@ -0,0 +1,204 @@ +/* + * FirstLoginViewController.m + * + * Description: + * + * + * Belledonne Communications (C) 2009 + * + * Copyright: See COPYING file that comes with this distribution + * + */ + + + +#import "FirstLoginViewController.h" + + +@implementation FirstLoginViewController + +@synthesize ok; +@synthesize identity; +@synthesize passwd; +@synthesize domain; +@synthesize mainDelegate; + +@synthesize axtelPin; +@synthesize activityIndicator; +@synthesize site; +/* + // 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]) { + // Custom initialization + } + return self; +} +*/ + + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; + [identity setText:[[NSUserDefaults standardUserDefaults] stringForKey:@"username_preference"]]; + [passwd setText:[[NSUserDefaults standardUserDefaults] stringForKey:@"password_preference"]]; + [domain setText:[[NSUserDefaults standardUserDefaults] stringForKey:@"domain_preference"]]; + [axtelPin setText:[[NSUserDefaults standardUserDefaults] stringForKey:@"axtelpin_preference"]]; +} + + +/* +// 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; +} + + +- (void)dealloc { + [super dealloc]; +} + + + +-(void) doOk:(id)sender { + if (sender == site) { + NSURL *url = [NSURL URLWithString:@"http://dialer.axtellabs.net"]; + [[UIApplication sharedApplication] openURL:url]; + return; + } + UIAlertView* error=nil; + // mandotory parameters + if ([identity.text length]==0 ) { + error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) + message:NSLocalizedString(@"Enter your username",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + goto end; + } else { + [[NSUserDefaults standardUserDefaults] setObject:identity.text forKey:@"username_preference"]; + + + } + if ([passwd.text length]==0 ) { + error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) + message:NSLocalizedString(@"Enter your password",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + goto end; + } else { + [[NSUserDefaults standardUserDefaults] setObject:passwd.text forKey:@"password_preference"]; + } + if ([domain.text length]==0) { + error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) + message:NSLocalizedString(@"Enter your domain",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + goto end; + } else { + [[NSUserDefaults standardUserDefaults] setObject:domain.text forKey:@"domain_preference"]; + } + + //optionnal parameters + if ([axtelPin.text length] >0) { + [[NSUserDefaults standardUserDefaults] setObject:axtelPin.text forKey:@"axtelpin_preference"]; + } + + if ([axtelPin.text length] >0) { + [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"tunnelenable_preference"]; + } + +end: + if (error != nil) { + [error show]; + } else { + //[self.view removeFromSuperview:self]; + if ([mainDelegate initProxySettings]) { + [self.activityIndicator setHidden:false]; + } else { + error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) + message:NSLocalizedString(@"Wrong domain or network unreachable",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + [error show]; + } + }; + + +} +-(void) authInfoRequested { + [self.activityIndicator setHidden:true]; +} +-(void) callStateChange:(LinphoneGeneralState*) state { + if (self.view.hidden) { + //nothing to do, viev is no longer active + return; + } + // /* states for GSTATE_GROUP_POWER */ + // GSTATE_POWER_OFF = 0, /* initial state */ + // GSTATE_POWER_STARTUP, + // GSTATE_POWER_ON, + // GSTATE_POWER_SHUTDOWN, + // /* states for GSTATE_GROUP_REG */ + // GSTATE_REG_NONE = 10, /* initial state */ + // GSTATE_REG_OK, + // GSTATE_REG_FAILED, + // /* states for GSTATE_GROUP_CALL */ + // GSTATE_CALL_IDLE = 20, /* initial state */ + // GSTATE_CALL_OUT_INVITE, + // GSTATE_CALL_OUT_CONNECTED, + // GSTATE_CALL_IN_INVITE, + // GSTATE_CALL_IN_CONNECTED, + // GSTATE_CALL_END, + // GSTATE_CALL_ERROR, + // GSTATE_INVALID + switch (state->new_state) { + case GSTATE_REG_FAILED: { + UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) + message:NSLocalizedString(@"Wrong domain or username",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + [error show]; + [self.activityIndicator setHidden:true]; + break; + } + case GSTATE_REG_OK: { + [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"firstlogindone_preference"]; + //[self.view removeFromSuperview]; + [self.view setHidden:true]; + [self.activityIndicator setHidden:true]; + break; + } + default: + break; + } + +} + + +- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { + // When the user presses return, take focus away from the text field so that the keyboard is dismissed. + [theTextField resignFirstResponder]; + return YES; +} + + +@end diff --git a/Classes/FirstLoginViewController.xib b/Classes/FirstLoginViewController.xib new file mode 100644 index 000000000..93503a470 --- /dev/null +++ b/Classes/FirstLoginViewController.xib @@ -0,0 +1,667 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + + 292 + + YES + + + 292 + {{0, -20}, {360, 480}} + + NO + NO + 9 + NO + + NSImage + faded Screen.jpg + + + + + 292 + {{25, 319}, {184, 37}} + + NO + NO + 0 + 0 + + Helvetica-Bold + 1.500000e+01 + 16 + + http://dialer.axtellabs.net + + 3 + MQA + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + 3 + MC41AA + + + + + 292 + {{105, 75}, {197, 31}} + + NO + NO + 0 + + 3 + + 3 + MAA + + 2 + + + YES + YES + 1.700000e+01 + + 1 + YES + + + + + 292 + {{9, 80}, {96, 21}} + + NO + YES + NO + Q29udHJhc2XDsWEqA + + 1 + MCAwIDAAA + + + 1 + NO + 1.000000e+01 + + + + 292 + {{105, 115}, {197, 31}} + + NO + NO + 0 + + 3 + + 3 + MAA + + + YES + 1.700000e+01 + + 1 + + + + + 292 + {{105, 205}, {197, 31}} + + NO + NO + 0 + + 3 + + 3 + MAA + + + YES + 1.700000e+01 + + 1 + + + + + 292 + {{9, 120}, {69, 21}} + + NO + YES + NO + Dominio* + + + 1 + NO + 1.000000e+01 + + + + 292 + {{9, 210}, {77, 21}} + + NO + YES + NO + Axtel Key + + + 1 + NO + 1.000000e+01 + + + + 292 + {{105, 34}, {197, 31}} + + NO + NO + 0 + + 3 + + 3 + MAA + + + YES + 1.700000e+01 + + 1 + + + + + 292 + {{9, 40}, {77, 21}} + + + 3 + MCAwAA + + NO + YES + NO + Usuario* + + + 1 + NO + 1.000000e+01 + + + + 292 + {{210, 319}, {72, 37}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + bot_ok2.png + + + NSImage + bot_ok1.png + + + + + -2147483356 + + YES + + + 292 + {{142, 211}, {37, 37}} + + NO + NO + NO + NO + YES + 0 + + + {320, 460} + + + 3 + MQA + + + NO + + + {320, 460} + + + 3 + MQA + + + + + + + + + + YES + + + view + + + + 3 + + + + domain + + + + 13 + + + + passwd + + + + 15 + + + + delegate + + + + 16 + + + + delegate + + + + 17 + + + + delegate + + + + 18 + + + + identity + + + + 19 + + + + doOk: + + + 7 + + 20 + + + + delegate + + + + 29 + + + + axtelPin + + + + 30 + + + + activityIndicator + + + + 33 + + + + site + + + + 36 + + + + doOk: + + + 7 + + 37 + + + + + YES + + 0 + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 4 + + + YES + + + + + + 1 + + + YES + + + + + + + + + + + + + + + + + 10 + + + domain + + + 12 + + + + + 11 + + + + + 9 + + + + + 8 + + + passwd + + + 7 + + + + + 6 + + + id + + + 5 + + + + + 25 + + + + + 26 + + + axtelPin + + + 31 + + + YES + + + + wait + + + 32 + + + + + 35 + + + site + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.IBUserGuides + 10.IBPluginDependency + 11.IBPluginDependency + 12.IBPluginDependency + 25.IBPluginDependency + 26.IBPluginDependency + 31.IBPluginDependency + 32.IBPluginDependency + 35.IBPluginDependency + 4.IBEditorWindowLastContentRect + 4.IBPluginDependency + 4.IBViewEditorWindowController.showingBoundsRectangles + 5.IBPluginDependency + 6.IBPluginDependency + 7.IBPluginDependency + 8.IBPluginDependency + 9.IBPluginDependency + + + YES + FirstLoginViewController + UIResponder + {{444, 412}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + YES + + + 1.050000e+02 + 0 + + + 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 + {{64, 277}, {320, 480}} + 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 + + + + 37 + + + + YES + + FirstLoginViewController + UIViewController + + doOk: + id + + + YES + + YES + activityIndicator + axtelPin + domain + identity + mainDelegate + ok + passwd + site + + + YES + UIView + UITextField + UITextField + UITextField + id + UIButton + UITextField + UIButton + + + + IBProjectSource + Classes/FirstLoginViewController.h + + + + + 0 + ../linphone.xcodeproj + 3 + 3.1 + + diff --git a/Classes/GenericTabViewController.h b/Classes/GenericTabViewController.h index 1ce13680a..f589ad867 100644 --- a/Classes/GenericTabViewController.h +++ b/Classes/GenericTabViewController.h @@ -25,12 +25,12 @@ @interface GenericTabViewController : UITableViewController { LinphoneCore* myLinphoneCore; id phoneControllerDelegate; - id linphoneDelegate; + id linphoneDelegate; IBOutlet UIView* header; } -(void) setLinphoneCore:(LinphoneCore*) lc; @property (nonatomic, retain) id phoneControllerDelegate; -@property (nonatomic, retain) id linphoneDelegate; +@property (nonatomic, retain) id linphoneDelegate; @property (nonatomic, retain) IBOutlet UIView* header; @end diff --git a/Classes/IncallViewController.h b/Classes/IncallViewController.h index 9a5771276..943259117 100644 --- a/Classes/IncallViewController.h +++ b/Classes/IncallViewController.h @@ -27,7 +27,7 @@ id phoneviewDelegate; NSTimer *durationRefreasher; - + UIView* dimmer; UIView* controlSubView; UIView* padSubView; @@ -35,7 +35,8 @@ UILabel* peerNumber; UILabel* callDuration; UILabel* status; - UIButton* end; + UIButton* endCtrl; + UIButton* endPad; UIButton* dialer; UIButton* mute; UIButton* speaker; @@ -65,19 +66,26 @@ -(void) setLinphoneCore:(LinphoneCore*) lc; -(void) startCall; +-(void) resetView; + +-(void) mute:(bool) value; +-(void) speaker:(bool) value; -(void)displayStatus:(NSString*) message; - (IBAction)doAction:(id)sender; +- (void)proximityStatusChange:(NSNotification *) notification; @property (nonatomic, retain) IBOutlet UIView* controlSubView; @property (nonatomic, retain) IBOutlet UIView* padSubView; +@property (nonatomic, retain) IBOutlet UIView* dimmer; @property (nonatomic, retain) IBOutlet UILabel* peerName; @property (nonatomic, retain) IBOutlet UILabel* peerNumber; @property (nonatomic, retain) IBOutlet UILabel* callDuration; @property (nonatomic, retain) IBOutlet UILabel* status; -@property (nonatomic, retain) IBOutlet UIButton* end; +@property (nonatomic, retain) IBOutlet UIButton* endCtrl; +@property (nonatomic, retain) IBOutlet UIButton* endPad; @property (nonatomic, retain) IBOutlet UIButton* dialer; @property (nonatomic, retain) IBOutlet UIButton* mute; @property (nonatomic, retain) IBOutlet UIButton* speaker; diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m index 73493fca2..61650790b 100644 --- a/Classes/IncallViewController.m +++ b/Classes/IncallViewController.m @@ -27,12 +27,14 @@ @synthesize controlSubView; @synthesize padSubView; +@synthesize dimmer; @synthesize peerName; @synthesize peerNumber; @synthesize callDuration; @synthesize status; -@synthesize end; +@synthesize endCtrl; +@synthesize endPad; @synthesize close; @synthesize mute; @synthesize dialer; @@ -68,8 +70,16 @@ // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; - isMuted = false; - isSpeaker = false; + UIDevice *device = [UIDevice currentDevice]; + [device setProximityMonitoringEnabled:true]; + + if(device.proximityMonitoringEnabled == YES) { + [[NSNotificationCenter defaultCenter] + addObserver:self selector:@selector(proximityStatusChange:) name:@"UIDeviceProximityStateDidChangeNotification" object:device]; + } + else{ + NSLog(@"No proximity sensors on your device"); + } } @@ -82,6 +92,13 @@ } */ +- (void)viewDidAppear:(BOOL)animated { + [[UIApplication sharedApplication] setIdleTimerDisabled:true]; +} +- (void)viewDidDisappear:(BOOL)animated { + [[UIApplication sharedApplication] setIdleTimerDisabled:false]; +} + - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; @@ -89,14 +106,88 @@ // Release any cached data, images, etc that aren't in use. } +- (void)proximityStatusChange:(NSNotification *) notification { + UIDevice *device = [notification object]; + if (device.proximityState) { + [dimmer setHidden:true]; + } else { + [dimmer setHidden:false]; + } +} + + +-(void) resetView { + + [self mute:false]; + [self speaker:false]; + + if (durationRefreasher != nil) { + [ durationRefreasher invalidate]; + durationRefreasher=nil; + } + [peerNumber setText:@""]; + [callDuration setText:@""]; + +} + +- (void)viewWillAppear:(BOOL)animated { + const LinphoneAddress* address = linphone_core_get_remote_uri(myLinphoneCore); + const char* displayName = linphone_address_get_display_name(address)?linphone_address_get_display_name(address):""; + [peerName setText:[NSString stringWithCString:displayName length:strlen(displayName)]]; + + const char* username = linphone_address_get_username(address)!=0?linphone_address_get_username(address):""; + [peerNumber setText:[NSString stringWithCString:username length:strlen(username)]]; + + [ [UIDevice currentDevice] setProximityMonitoringEnabled:true]; +} + + +- (void)viewWillDisappear:(BOOL)animated { + + [ [UIDevice currentDevice] setProximityMonitoringEnabled:false]; + +} + + +/* - (void)viewDidUnload { // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; - if (durationRefreasher != nil) { - [ durationRefreasher invalidate]; - } } +*/ + +-(void) mute:(bool) value { + linphone_core_mute_mic(myLinphoneCore,value); + if (value) { + [mute setImage:[UIImage imageNamed:@"icono_silencio_2.png"] forState:UIControlStateNormal]; + } else { + [mute setImage:[UIImage imageNamed:@"icono_silencio_1.png"] forState:UIControlStateNormal]; + } + isMuted=value; + // swithc buttun state +}; + +-(void) speaker:(bool) value { + if (value) { + //redirect audio to speaker + UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; + AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute + , sizeof (audioRouteOverride) + , &audioRouteOverride); + [speaker setImage:[UIImage imageNamed:@"icono_altavoz_2.png"] forState:UIControlStateNormal]; + } else { + //Cancel audio route redirection + UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None; + AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute + , sizeof (audioRouteOverride) + , &audioRouteOverride); + [speaker setImage:[UIImage imageNamed:@"icono_altavoz_1.png"] forState:UIControlStateNormal]; + } + isSpeaker=value; + +}; + -(void) setLinphoneCore:(LinphoneCore*) lc { myLinphoneCore = lc; @@ -107,12 +198,7 @@ } -(void) startCall { - const LinphoneAddress* address = linphone_core_get_remote_uri(myLinphoneCore); - const char* displayName = linphone_address_get_display_name(address)?linphone_address_get_display_name(address):""; - [peerName setText:[NSString stringWithCString:displayName length:strlen(displayName)]]; - - const char* username = linphone_address_get_username(address)!=0?linphone_address_get_username(address):""; - [peerNumber setText:[NSString stringWithCString:username length:strlen(username)]]; + [status setText:@""]; // start scheduler durationRefreasher = [NSTimer scheduledTimerWithTimeInterval:1 target:self @@ -125,9 +211,9 @@ -(void)updateCallDuration { int lDuration = linphone_core_get_current_call_duration(myLinphoneCore); if (lDuration < 60) { - [callDuration setText:[NSString stringWithFormat: @"%i s", lDuration]]; + [callDuration setText:[NSString stringWithFormat: @"%02i s", lDuration]]; } else { - [callDuration setText:[NSString stringWithFormat: @"%i:%i", lDuration/60,lDuration - 60 *(lDuration/60)]]; + [callDuration setText:[NSString stringWithFormat: @"%02i:%02i", lDuration/60,lDuration - 60 *(lDuration/60)]]; } } @@ -163,7 +249,7 @@ } - if (sender == end) { + if (sender == endCtrl || sender == endPad) { linphone_core_terminate_call(myLinphoneCore,NULL); } else if (sender == dialer) { [controlSubView setHidden:true]; @@ -179,33 +265,10 @@ [controlSubView setHidden:false]; [padSubView setHidden:true]; } else if (sender == mute) { - isMuted = isMuted?false:true; - linphone_core_mute_mic(myLinphoneCore,isMuted); - // swithc buttun state - UIImage * tmpImage = [mute backgroundImageForState: UIControlStateNormal]; - [mute setBackgroundImage:[mute backgroundImageForState: UIControlStateHighlighted] forState:UIControlStateNormal]; - [mute setBackgroundImage:tmpImage forState:UIControlStateHighlighted]; + [self mute:!isMuted]; } else if (sender == speaker) { - isSpeaker = isSpeaker?false:true; - if (isSpeaker) { - //redirect audio to speaker - UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; - AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute - , sizeof (audioRouteOverride) - , &audioRouteOverride); - } else { - //Cancel audio route redirection - UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None; - AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute - , sizeof (audioRouteOverride) - , &audioRouteOverride); - } - // switch button state - UIImage * tmpImage = [speaker backgroundImageForState: UIControlStateNormal]; - [speaker setBackgroundImage:[speaker backgroundImageForState: UIControlStateHighlighted] forState:UIControlStateNormal]; - [speaker setBackgroundImage:tmpImage forState:UIControlStateHighlighted]; - + [self speaker:!isSpeaker]; }else { NSLog(@"unknown event from incall view"); } diff --git a/Classes/IncallViewController.xib b/Classes/IncallViewController.xib index ea7013b59..e962d405d 100644 --- a/Classes/IncallViewController.xib +++ b/Classes/IncallViewController.xib @@ -37,26 +37,40 @@ 274 YES - + 292 - {{150, 220}, {20, 20}} + {320, 46} NO NO + 4 NO - NO - 2 + + NSImage + pleca_gris.png + + + + + 292 + {{0, 360}, {320, 100}} + + + 1 + MC4yIDAuMiAwLjIAA + + NO 292 - {320, 55} + {320, 46} NO YES NO - Caller + 1 MCAwIDAAA @@ -69,13 +83,16 @@ 292 - {{31, 63}, {61, 21}} + {{20, 63}, {140, 21}} NO YES NO - Number - + + + 1 + MSAxIDEAA + 1 1.000000e+01 @@ -88,8 +105,8 @@ NO YES NO - Duration - + + 1 1.000000e+01 @@ -97,26 +114,55 @@ 292 - {{31, 347}, {258, 21}} + {{161, 63}, {132, 21}} NO YES NO - status - + + 1 1.000000e+01 + 1 292 YES + + + 292 + {{22, 100}, {91, 128}} + + NO + NO + 4 + NO + + NSImage + corner_izq.png + + + + + 292 + {{202, 110}, {92, 108}} + + NO + NO + 4 + NO + + NSImage + corner_der.png + + 292 - {{0, 61}, {82, 52}} + {{21, -1}, {93, 112}} NO NO @@ -139,98 +185,121 @@ 3 MC41AA - + + NSImage + icono_silencio_2.png + + NSImage mic_active.png - + + NSImage + icono_silencio_1.png + + NSImage mic_muted.png - - 292 - {{6, 261}, {258, 52}} + {{12, 277}, {296, 52}} NO NO 0 0 - 1 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - + NSImage - red.png + boton_colgar.png 292 - {{92, 121}, {82, 52}} + {{113, 110}, {90, 110}} NO NO 0 0 - 1 - Contacts 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + icono_contactos_2.png + + + NSImage + icono_contactos_1.png + 292 - {{93, 61}, {82, 52}} + {{112, -1}, {93, 112}} NO NO 0 0 - 1 - Dialer 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + icono_teclado_2.png + + + NSImage + icono_teclado_1.png + 292 - {{181, 61}, {82, 52}} + {{202, 0}, {93, 111}} NO NO 0 0 - 1 - Spk 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + icono_altavoz_2.png + + + NSImage + icono_altavoz_1.png + - {{25, 110}, {270, 317}} + {{0, 110}, {320, 349}} 3 @@ -250,7 +319,7 @@ 292 - {{30, 258}, {80, 65}} + {{21, 279}, {132, 49}} NO NO @@ -263,69 +332,90 @@ MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - + + NSImage + boton_colgar2.png + + + NSImage + boton_colgar1.png + 292 - {{170, 266}, {72, 37}} + {{168, 279}, {131, 49}} NO NO 0 0 - 1 - close 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_regresar1.png + 292 - {{90, 184}, {82, 52}} + {{111, 177}, {90, 60}} NO NO 0 0 - 1 - 0 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_0-2.png + + + NSImage + boton_0-1.png + 292 - {{0, 9}, {82, 52}} + {{20, 0}, {91, 58}} NO NO 0 0 - 1 - 1 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_1-2.png + + + NSImage + boton_1-1.png + 292 - {{90, 9}, {82, 52}} + {{111, 0}, {90, 58}} NO NO @@ -333,37 +423,50 @@ 0 1 - 2 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_2-2.png + + + NSImage + boton_2-1.png + 292 - {{180, 9}, {82, 52}} + {{201, 0}, {91, 58}} NO NO 0 0 - 1 - 3 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_3-2.png + + + NSImage + boton_3-1.png + 292 - {{0, 69}, {82, 52}} + {{20, 58}, {91, 60}} NO NO @@ -371,149 +474,198 @@ 0 1 - 4 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_4-2.png + + + NSImage + boton_4-1.png + 292 - {{90, 69}, {82, 52}} + {{111, 58}, {90, 60}} NO NO 0 0 - 1 - 5 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_5-2.png + + + NSImage + boton_5-1.png + 292 - {{180, 69}, {82, 52}} + {{201, 58}, {91, 60}} NO NO 0 0 - 1 - 6 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_6-2.png + + + NSImage + boton_6-1.png + 292 - {{0, 124}, {82, 52}} + {{20, 118}, {91, 59}} NO NO 0 0 - 1 - 7 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_7-2.png + + + NSImage + boton_7-1.png + 292 - {{90, 124}, {82, 52}} + {{111, 118}, {90, 59}} NO NO 0 0 - 1 - 8 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_8-2.png + + + NSImage + boton_8-1.png + 292 - {{180, 124}, {82, 52}} + {{201, 118}, {91, 59}} NO NO 0 0 - 1 - 9 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_9-2.png + + + NSImage + boton_9-1.png + 292 - {{0, 184}, {82, 52}} + {{20, 177}, {91, 60}} NO NO 0 0 - 1 - * 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_asterisco-2.png + + + NSImage + boton_asterisco-1.png + 292 - {{180, 184}, {82, 52}} + {{201, 177}, {91, 60}} NO NO 0 0 - 1 - # 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + boton_num-2.png + + + NSImage + boton_num-1.png + - {{25, 110}, {270, 317}} + {{0, 110}, {320, 350}} 3 @@ -526,14 +678,18 @@ {320, 460} - - 1 - MCAwLjUwMTk2MDgxIDEAA - + NO + + + -2147483356 + {320, 460} + + NO + @@ -614,14 +770,6 @@ 51 - - - end - - - - 53 - one @@ -909,6 +1057,30 @@ 94 + + + endCtrl + + + + 100 + + + + endPad + + + + 101 + + + + dimmer + + + + 104 + @@ -947,11 +1119,12 @@ YES - - + + + @@ -982,8 +1155,10 @@ - + + + controls @@ -1026,17 +1201,17 @@ - - + + pad @@ -1053,12 +1228,6 @@ close - - 30 - - - 1 - 31 @@ -1066,22 +1235,34 @@ start - 32 - + 40 + - 9 + hash - 33 - + 39 + - 8 + 2 - 34 - + 41 + - 7 + 0 + + + 30 + + + 1 + + + 38 + + + 3 35 @@ -1102,40 +1283,55 @@ 6 - 38 - + 34 + - 3 + 7 - 39 - + 33 + - 2 + 8 - 40 - + 32 + - hash + 9 - 41 - - - 0 - - - 92 - + 95 + + + 96 + + + + + 97 + + + 93 status + + 102 + + + + + 103 + + + dimmer + @@ -1145,6 +1341,8 @@ -1.CustomClassName -2.CustomClassName 10.IBPluginDependency + 102.IBPluginDependency + 103.IBPluginDependency 11.IBPluginDependency 12.IBPluginDependency 13.IBPluginDependency @@ -1171,8 +1369,10 @@ 40.IBPluginDependency 41.IBPluginDependency 9.IBPluginDependency - 92.IBPluginDependency 93.IBPluginDependency + 95.IBPluginDependency + 96.IBPluginDependency + 97.IBPluginDependency YES @@ -1186,7 +1386,11 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{528, 218}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{126, 112}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1229,7 +1433,7 @@ - 94 + 104 @@ -1250,8 +1454,10 @@ contacts controlSubView dialer + dimmer eight - end + endCtrl + endPad five four hash @@ -1278,6 +1484,8 @@ UIButton UIView UIButton + UIView + UIButton UIButton UIButton UIButton diff --git a/Classes/MoreViewController.h b/Classes/MoreViewController.h new file mode 100644 index 000000000..c2161594e --- /dev/null +++ b/Classes/MoreViewController.h @@ -0,0 +1,50 @@ +/* MoreViewController.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 +#include "linphoneAppDelegate.h" + + + +@class AboutViewController; +@class ConsoleViewController; +@interface MoreViewController : UITableViewController { + + UILabel* about; + bool isLogViewEnabled; + + UITableViewCell *web; + UITableViewCell *help; + UITableViewCell *reset; + UITableViewCell *credit; + UITableViewCell *console; + AboutViewController *aboutViewController; + ConsoleViewController *consoleViewController; + id linphoneDelegate; +} +-(void) enableLogView; + +@property (nonatomic, retain) IBOutlet UITableViewCell* web; +@property (nonatomic, retain) IBOutlet UITableViewCell* help; +@property (nonatomic, retain) IBOutlet UITableViewCell* reset; +@property (nonatomic, retain) IBOutlet UITableViewCell* credit; +@property (nonatomic, retain) IBOutlet UITableViewCell* console; +@property (nonatomic, retain) id linphoneDelegate; + +@end diff --git a/Classes/MoreViewController.m b/Classes/MoreViewController.m new file mode 100644 index 000000000..c41480a85 --- /dev/null +++ b/Classes/MoreViewController.m @@ -0,0 +1,165 @@ +/* MoreViewController.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 "MoreViewController.h" +#import "AboutViewController.h" +#include "ConsoleViewController.h" + + + +@implementation MoreViewController +@synthesize web; +@synthesize help; +@synthesize reset; +@synthesize credit; +@synthesize console; +@synthesize linphoneDelegate; + + + + + // 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]) { + // Custom initialization + isLogViewEnabled = false; + } + return self; +} + + + +//Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; + aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:[NSBundle mainBundle]]; + consoleViewController = [[ConsoleViewController alloc] initWithNibName:@"ConsoleViewController" bundle:[NSBundle mainBundle]]; +} + + + +/* +// 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; +} + + +- (void)dealloc { + [super dealloc]; +} + + + +-(void) enableLogView { + isLogViewEnabled = true; + +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + + +// Customize the number of rows in the table view. +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + if (isLogViewEnabled) { + return 5; + } else { + return 4; + } +} + + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + switch (indexPath.row) { + case 0: return web; + case 1: return help; + case 2: return reset; + case 3: return credit; + case 4: return console; + } + return nil; +} + +- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath { + + [self tableView:tableView didSelectRowAtIndexPath:indexPath]; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + + [tableView deselectRowAtIndexPath:indexPath animated:NO]; + + switch (indexPath.row) { + case 0: { + NSString *stringURL = @"http://dialer.axtellabs.net"; + NSURL *url = [NSURL URLWithString:stringURL]; + [[UIApplication sharedApplication] openURL:url]; + break; + }; + case 1:{ + NSString *stringURL = @"http://help.dialer.axtellabs.net/help.html?version=1.1"; + NSURL *url = [NSURL URLWithString:stringURL]; + [[UIApplication sharedApplication] openURL:url]; + break; + }; + case 2: { + UIAlertView* ckecking = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) + message:NSLocalizedString(@"Esto borrara sus configuraciones actuales, seguro que desea continuar?",nil) + delegate:self + cancelButtonTitle:NSLocalizedString(@"Si",nil) + otherButtonTitles:nil]; + [ckecking addButtonWithTitle:NSLocalizedString(@"No",nil)]; + [ckecking show]; + break; + } + case 3: { + [self.navigationController pushViewController:aboutViewController animated:true]; + break; + } + case 4: { + [self.navigationController pushViewController:consoleViewController animated:true]; + break; + } + } + +} + +- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { + if (buttonIndex == 0) { + [linphoneDelegate resetConfig]; + } +} +@end diff --git a/Classes/MoreViewController.xib b/Classes/MoreViewController.xib new file mode 100644 index 000000000..c02e3f3ee --- /dev/null +++ b/Classes/MoreViewController.xib @@ -0,0 +1,582 @@ + + + + 784 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + + 292 + {320, 460} + + + 3 + MQA + + 2 + + + + + + + + + 274 + {{554, 98}, {320, 247}} + + 3 + MQA + + NO + YES + NO + NO + 1 + 0 + YES + 4.400000e+01 + 2.200000e+01 + 2.200000e+01 + + + + 292 + + YES + + + 256 + + YES + + + 292 + {{20, 0}, {300, 44}} + + NO + YES + NO + Sitio Web + + 1 + MCAwIDAAA + + + 1 + 1.000000e+01 + + + {300, 43} + + + 3 + MCAwAA + + NO + YES + 4 + YES + + + {320, 44} + + + 1 + MSAxIDEAA + + NO + 1 + 1 + + + + + 292 + + YES + + + 256 + + YES + + + 292 + {{20, 0}, {300, 44}} + + NO + YES + NO + Ayuda + + + 1 + 1.000000e+01 + + + {300, 43} + + + NO + YES + 4 + YES + + + {320, 44} + + + NO + 1 + 1 + + + + + 292 + + YES + + + 256 + + YES + + + 292 + {{20, 0}, {300, 44}} + + NO + YES + NO + Restaurar valores predeterminados + + + 1 + 1.000000e+01 + + + {300, 43} + + + NO + YES + 4 + YES + + + {320, 44} + + + NO + 1 + 1 + + + + + 292 + + YES + + + 256 + + YES + + + 292 + {{20, 0}, {300, 44}} + + + NO + YES + NO + Acerca De + + + 1 + 1.000000e+01 + + + {300, 43} + + + + NO + YES + 4 + YES + + + {320, 44} + + + + NO + 1 + 1 + + + + + 292 + + YES + + + 256 + + YES + + + 292 + {{20, 0}, {300, 44}} + + NO + YES + NO + Console + + + 1 + 1.000000e+01 + + + {300, 43} + + + NO + YES + 4 + YES + + + {320, 44} + + + NO + 1 + 1 + + + + + + YES + + + view + + + + 19 + + + + credit + + + + 29 + + + + help + + + + 30 + + + + reset + + + + 31 + + + + web + + + + 32 + + + + console + + + + 40 + + + + + YES + + 0 + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 4 + + + YES + + + + + + 1 + + + YES + + + + + 18 + + + + + 25 + + + YES + + + + web + + + 26 + + + YES + + + + help + + + 27 + + + YES + + + + reset config + + + 28 + + + YES + + + + about + + + 34 + + + + + 35 + + + + + 36 + + + + + 37 + + + + + 38 + + + YES + + + + console + + + 39 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 18.IBPluginDependency + 25.IBEditorWindowLastContentRect + 25.IBPluginDependency + 26.IBEditorWindowLastContentRect + 26.IBPluginDependency + 27.IBEditorWindowLastContentRect + 27.IBPluginDependency + 28.IBEditorWindowLastContentRect + 28.IBPluginDependency + 34.IBPluginDependency + 35.IBPluginDependency + 36.IBPluginDependency + 37.IBPluginDependency + 38.IBEditorWindowLastContentRect + 38.IBPluginDependency + 39.IBPluginDependency + 4.IBEditorWindowLastContentRect + 4.IBPluginDependency + + + YES + MoreViewController + UIResponder + {{437, 192}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{395, 688}, {320, 44}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{412, 436}, {320, 44}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{42, 1022}, {320, 44}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{63, 999}, {320, 44}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{84, 976}, {320, 44}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{80, 105}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 41 + + + + YES + + MoreViewController + UITableViewController + + YES + + YES + console + credit + help + reset + web + + + YES + UITableViewCell + UITableViewCell + UITableViewCell + UITableViewCell + UITableViewCell + + + + IBProjectSource + Classes/MoreViewController.h + + + + + 0 + ../linphone.xcodeproj + 3 + 3.1 + + diff --git a/Classes/PhoneViewController.h b/Classes/PhoneViewController.h index 0748788ea..5c8bf9874 100644 --- a/Classes/PhoneViewController.h +++ b/Classes/PhoneViewController.h @@ -19,25 +19,31 @@ #import #import #import "linphonecore.h" +#import "linphoneAppDelegate.h" @protocol PhoneViewControllerDelegate -(void)setPhoneNumber:(NSString*)number; +-(void)setPhoneNumber:(NSString*)number withDisplayName:(NSString*) name; -(void)dismissIncallView; -(void)displayStatus:(NSString*) message; +-(void)setTunnelState:(bool) state; @end @class IncallViewController; + @interface PhoneViewController : UIViewController { @private //UI definition - UITextField* address; UIButton* call; + UIButton* gsmCall; + + UIButton* endPhoneNumEditing; - UILabel* status; - + //key pad + UIView* pad; UIButton* one; UIButton* two; UIButton* three; @@ -50,19 +56,28 @@ UIButton* star; UIButton* zero; UIButton* hash; + UIButton* tun; UIButton* back; /* * lib linphone main context */ LinphoneCore* mCore; + // to params, might be put in a separated object + UITextField* address; + NSString* displayName; + id linphoneDelegate; + IncallViewController *myIncallViewController; + } @property (nonatomic, retain) IBOutlet UITextField* address; @property (nonatomic, retain) IBOutlet UIButton* call; -@property (nonatomic, retain) IBOutlet UILabel* status; +@property (nonatomic, retain) IBOutlet UIButton* gsmCall; +@property (nonatomic, retain) IBOutlet UIView* pad; +@property (nonatomic, retain) IBOutlet UIButton* endPhoneNumEditing; @property (nonatomic, retain) IBOutlet UIButton* one; @property (nonatomic, retain) IBOutlet UIButton* two; @property (nonatomic, retain) IBOutlet UIButton* three; @@ -75,17 +90,23 @@ @property (nonatomic, retain) IBOutlet UIButton* star; @property (nonatomic, retain) IBOutlet UIButton* zero; @property (nonatomic, retain) IBOutlet UIButton* hash; - +@property (nonatomic, retain) IBOutlet UIButton* tun; @property (nonatomic, retain) IBOutlet UIButton* back; +@property (nonatomic, retain) id linphoneDelegate; /* * Handle call state change from linphone */ -(void) callStateChange:(LinphoneGeneralState*) state; +-(void) callLogUpdated:(LinphoneCallLog*) log; + +//-(void) setLinphoneCore:(LinphoneCore*) lc; +-(void) enableCall:(bool) value; +-(void) keyboardWasShown:(NSNotification*)aNotification; +-(void) keyboardWillHide:(NSNotification*)aNotification; --(void) setLinphoneCore:(LinphoneCore*) lc; /******************** * UI method handlers @@ -100,7 +121,9 @@ - (IBAction)doKeyPadUp:(id)sender; + -(void) dismissAlertDialog:(UIAlertView*)alertView; +-(void) displayNetworkErrorAlert; @end diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 1caf46a56..6be68b05f 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -28,8 +28,10 @@ @implementation PhoneViewController @synthesize address ; @synthesize call; -@synthesize status; +@synthesize gsmCall; +@synthesize pad; +@synthesize endPhoneNumEditing; @synthesize one; @synthesize two; @synthesize three; @@ -42,11 +44,24 @@ @synthesize star; @synthesize zero; @synthesize hash; - +@synthesize tun; @synthesize back; +@synthesize linphoneDelegate; -(void)setPhoneNumber:(NSString*)number { [address setText:number]; + if (displayName) { + [displayName release]; + displayName=nil; + } +} +-(void)setPhoneNumber:(NSString*)number withDisplayName:(NSString*) name { + [self setPhoneNumber:number]; + displayName = name; +} + +-(void) callLogUpdated:(LinphoneCallLog*) log { + //nop } -(void)dismissIncallView { @@ -55,25 +70,65 @@ //implements call/cancel button behavior -(IBAction) doAction:(id)sender { + //1 normalize phone number - if (sender == call) { - if (!linphone_core_in_call(mCore)) { - const char* lCallee = [[address text] cStringUsingEncoding:[NSString defaultCStringEncoding]]; - linphone_core_invite(mCore,lCallee) ; + if (sender == gsmCall || sender == call) { + char normalizedUserName[256]; + LinphoneProxyConfig* proxyCfg; + //get default proxy + linphone_core_get_default_proxy(mCore,&proxyCfg); + NSString* toUserName = [NSString stringWithString:[address text]]; + linphone_proxy_config_normalize_number(proxyCfg,[toUserName cStringUsingEncoding:[NSString defaultCStringEncoding]],normalizedUserName,sizeof(normalizedUserName)); + + if (sender == call) { + // check if ready to place a call + + if (!linphone_proxy_config_is_registered(proxyCfg)) { +#ifdef LINPHONE_WIFI_ONLY + if (!linphone_proxy_config_register_enabled(proxyCfg)) { + UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Connection interumpida",nil) + message:NSLocalizedString(@"Favor de conectarse a una red inalambrica",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Ok",nil) + otherButtonTitles:nil]; + [error show]; + + } else { + [self displayNetworkErrorAlert]; + } +#else + [self displayNetworkErrorAlert]; +#endif /*LINPHONE_WIFI_ONLY*/ + return; + } + + if (!linphone_core_in_call(mCore)) { + LinphoneAddress* tmpAddress = linphone_address_new(linphone_core_get_identity(mCore)); + linphone_address_set_username(tmpAddress,normalizedUserName); + linphone_address_set_display_name(tmpAddress,displayName?[displayName cStringUsingEncoding:[NSString defaultCStringEncoding]]:nil); + linphone_core_invite(mCore,linphone_address_as_string(tmpAddress)) ; + linphone_address_destroy(tmpAddress); + } + 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 == gsmCall) { + NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%s", normalizedUserName]]; + [[UIApplication sharedApplication] openURL:url]; } - 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 == endPhoneNumEditing) { + [address resignFirstResponder]; + } else if (sender == tun) { + [self setTunnelState: [linphoneDelegate toggleTunnel]]; + } - } - } //implements keypad behavior @@ -114,6 +169,10 @@ } else if (sender == back) { if ([address.text length] >0) { newAddress = [address.text substringToIndex: [address.text length]-1]; + //start timer for back + [self performSelector:@selector(doBackspaceLongPress) withObject:nil afterDelay:0.5]; + //erase displayname is case of number correction + displayName=@""; } } else { NSLog(@"unknown event from diad pad"); @@ -132,7 +191,13 @@ [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(doKeyZeroLongPress) object:nil]; - } else { + } if (sender == back) { + //cancel timer for back + [NSObject cancelPreviousPerformRequestsWithTarget:self + selector:@selector(doBackspaceLongPress) + object:nil]; + + }else { NSLog(@"unknown up event from dial pad"); } } @@ -143,17 +208,37 @@ } +-(void)doBackspaceLongPress { + [address setText:@""]; +} + -(void) setLinphoneCore:(LinphoneCore*) lc { mCore = lc; [myIncallViewController setLinphoneCore:mCore]; + } -(void)displayStatus:(NSString*) message { - [status setText:message]; - if (myIncallViewController != nil) { - [myIncallViewController displayStatus:message]; - } } +-(void) enableCall:(bool) enable{ + if (enable) { + [call setImage:[UIImage imageNamed:@"boton_AXTEL_2.png"] forState:UIControlStateNormal]; + [call setImage:[UIImage imageNamed:@"boton_AXTEL_1.png"] forState:UIControlStateHighlighted]; + } else { + [call setImage:[UIImage imageNamed:@"boton_AXTEL_1.png"] forState:UIControlStateNormal]; + [call setImage:[UIImage imageNamed:@"boton_AXTEL_2.png"] forState:UIControlStateHighlighted]; + } +} +-(void) displayNetworkErrorAlert { + + UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Connection interumpida",nil) + message:NSLocalizedString(@"Your phone is no longuer connected, check your connection settings",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Ok",nil) + otherButtonTitles:nil]; + [error show]; + +} /* // 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 { @@ -164,7 +249,6 @@ } */ - // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; @@ -173,11 +257,26 @@ [myIncallViewController setPhoneviewDelegate:self]; } + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWasShown:) + name:UIKeyboardDidShowNotification object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillHide:) + name:UIKeyboardWillHideNotification object:nil]; } +-(void) keyboardWasShown:(NSNotification*)aNotification { + [pad setHidden:true]; + [back setHidden:true]; +} +-(void) keyboardWillHide:(NSNotification*)aNotification { + [pad setHidden:false]; + [back setHidden:false]; +} /* // Override to allow orientations other than the default portrait orientation. @@ -200,15 +299,6 @@ } -- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { - if (theTextField == address) { - [address resignFirstResponder]; - } - return YES; -} - - - -(void) dismissAlertDialog:(UIAlertView*) alertView{ [alertView dismissWithClickedButtonIndex:0 animated:TRUE]; } @@ -216,10 +306,17 @@ - (void)dealloc { [address dealloc]; [call dealloc]; - [status dealloc]; [super dealloc]; } +-(void)setTunnelState:(bool) state { + if (state) { + [tun setImage:[UIImage imageNamed:@"auroc-On.png"] forState:UIControlStateNormal]; + } else { + [tun setImage:[UIImage imageNamed:@"auroc-Off.png"] forState:UIControlStateNormal]; + } +} + -(void) callStateChange:(LinphoneGeneralState*) state { // /* states for GSTATE_GROUP_POWER */ // GSTATE_POWER_OFF = 0, /* initial state */ @@ -240,16 +337,33 @@ // GSTATE_CALL_ERROR, // GSTATE_INVALID switch (state->new_state) { + case GSTATE_REG_FAILED: { + [self enableCall:false]; + break; + } + case GSTATE_REG_OK: { + LinphoneProxyConfig* proxyCfg; + //get default proxy + + if ((linphone_core_get_default_proxy(mCore,&proxyCfg)==0) && linphone_proxy_config_is_registered(proxyCfg)) { + [self enableCall:true]; + } else { + [self enableCall:false]; + } + break; + } case GSTATE_CALL_IN_INVITE: case GSTATE_CALL_OUT_INVITE: { - //[myIncallViewController startCall]; + [myIncallViewController resetView]; [self presentModalViewController: myIncallViewController animated:true]; + [myIncallViewController displayStatus:NSLocalizedString(@"Llamando...",nil)]; + break; } case GSTATE_CALL_ERROR: { - NSString* lTitle= state->message!=nil?[NSString stringWithCString:state->message length:strlen(state->message)]: @"Error"; - NSString* lMessage=lTitle; + NSString* lTitle= @"Error"; + NSString* lMessage=state->message!=nil?[NSString stringWithCString:state->message length:strlen(state->message)]: @""; UIAlertView* error = [[UIAlertView alloc] initWithTitle:lTitle @@ -272,6 +386,7 @@ case GSTATE_CALL_END: { //end off call, just dismiss Incall view [self dismissIncallView]; + displayName=@""; break; } default: diff --git a/Classes/PhoneViewController.xib b/Classes/PhoneViewController.xib index 13a9d9866..1226030f5 100644 --- a/Classes/PhoneViewController.xib +++ b/Classes/PhoneViewController.xib @@ -8,7 +8,7 @@ 353.00 YES - + YES @@ -42,33 +42,22 @@ 292 YES - + 292 - {{0, 20}, {227, 31}} + {320, 95} - NO NO - 0 - - 3 - sip: - - 3 - MAA - - 2 - + NO + + NSImage + plecasuperiorconlogo.png - YES - 1.700000e+01 - - 3 292 - {{231, 20}, {51, 32}} + {{271, 48}, {42, 32}} NO NO @@ -79,8 +68,6 @@ 1.500000e+01 16 - 1 - PC0gA 3 MQA @@ -93,23 +80,67 @@ 3 MC41AA + + NSImage + flecha_borrar2.png + + + NSImage + flecha_borrar1.png + + + + + 292 + {{20, 47}, {248, 31}} + + + 1 + MSAxIDEAA + + NO + 0 + + + 3 + MAA + + 2 + + + + Helvetica-Bold + 2.400000e+01 + 16 + + 1 + 1.700000e+01 + + 1 + 5 + 9 + - {{18, -6}, {282, 63}} + {320, 95} 3 MSAwAA - + NO NO - + 292 - {{21, 312}, {72, 59}} + {{203, 145}, {65, 37}} + + 1 + MC40OTgwMzkyMiAwLjQ5ODAzOTIyIDAuNDk4MDM5MjIgMC4wNTk5OTk5OTkAA + NO NO 0 @@ -123,273 +154,400 @@ NSImage - green.png + bot_ok1.png - + 292 - {{0, 379}, {312, 21}} + + YES + + + 292 + {{214, 0}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton3_2.png + + + NSImage + boton3_1.png + + + + + 292 + {{0, 66}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton4_2.png + + + NSImage + boton4_1.png + + + + + 292 + {{107, 66}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton5_2.png + + + NSImage + boton5_1.png + + + + + 292 + {{214, 66}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton6_2.png + + + NSImage + boton6_1.png + + + + + 292 + {{0, 132}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton7_2.png + + + NSImage + boton7_1.png + + + + + 292 + {{214, 132}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton9_2.png + + + NSImage + boton9_1.png + + + + + 292 + {{107, 0}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton2_2.png + + + NSImage + boton2_1.png + + + + + 292 + {107, 67} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton1_2.png + + + NSImage + boton1_1.png + + + + + 292 + {{0, 198}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton_asterisco_2.png + + + NSImage + boton_asterisco_1.png + + + + + 292 + {{107, 198}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton0_2.png + + + NSImage + boton0_1.png + + + + + 292 + {{214, 198}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton_num_2.png + + + NSImage + boton_num_1.png + + + + + 292 + {{107, 132}, {107, 67}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton8_2.png + + + NSImage + boton8_1.png + + + + + 292 + {{0, 264}, {107, 55}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton_AXTEL_2.png + + + NSImage + boton_AXTEL_1.png + + + + + 292 + {{214, 264}, {107, 55}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + boton_celular_2.png + + + NSImage + boton_celular_1.png + + + + + 292 + {{107, 264}, {107, 55}} + + NO + NO + 0 + 0 + + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + auroc-Off.png + + + + {{0, 91}, {320, 320}} - NO - YES - NO - status - + 1 - MCAwIDAAA + MC40OTgwMzkyMiAwLjQ5ODAzOTIyIDAuNDk4MDM5MjIAA - - 1 - 1.000000e+01 - - - - 292 - {{217, 65}, {83, 51}} - - NO NO - 0 - 0 - - 1 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{21, 124}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{120, 124}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{217, 124}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{21, 184}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{217, 184}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{120, 65}, {83, 51}} - - NO - NO - 0 - 0 - - 1 - 2 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{21, 65}, {83, 51}} - - NO - NO - 0 - 0 - - 1 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{21, 244}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{120, 246}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 0+ - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{217, 244}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{120, 306}, {175, 65}} - - NO - NO - NO - - NSImage - linphone.png - - - - - 292 - {{118, 186}, {83, 52}} - - NO - NO - 0 - 0 - - 1 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - {320, 460} + {{0, 24}, {320, 411}} 1 - MCAwLjUwMTk2MDgxIDEAA + MC43MDE5NjA4IDAuNzAxOTYwOCAwLjcwMTk2MDgAA 5 @@ -399,47 +557,6 @@ YES - - - address - - - - 12 - - - - call - - - - 13 - - - - status - - - - 15 - - - - doAction: - - - 7 - - 18 - - - - delegate - - - - 19 - view @@ -678,6 +795,107 @@ 106 + + + call + + + + 112 + + + + doAction: + + + 7 + + 113 + + + + gsmCall + + + + 114 + + + + doAction: + + + 7 + + 115 + + + + doKeyPadUp: + + + 7 + + 116 + + + + delegate + + + + 118 + + + + address + + + + 119 + + + + pad + + + + 121 + + + + endPhoneNumEditing + + + + 123 + + + + doAction: + + + 7 + + 124 + + + + doAction: + + + 7 + + 126 + + + + tun + + + + 127 + @@ -715,6 +933,48 @@ YES + + + + + + + + 104 + + + YES + + + + + + AddressView + + + 81 + + + back + + + 109 + + + + + 117 + + + phoneNum + + + 120 + + + YES + + @@ -726,112 +986,107 @@ - - - - + - - - - 42 - - - - - 41 - - - - - 40 - - - - - 39 - - - - - 38 - - - - - 37 - - - - - 36 - - - - - 34 - - - - - 33 - - - - - 31 - - - - - 30 - + pad 29 - + + three - 7 - - + 30 + + + four - 5 - - - Call + 31 + + + five - 104 - - - YES - - - - - AddressView + 33 + + + six - 4 - - - Address + 34 + + + seven - 81 - - - back + 36 + + + nine + + + 37 + + + two + + + 38 + + + one + + + 39 + + + star + + + 40 + + + zero + + + 41 + + + hash 35 + + eight + + + 107 + + + call + + + 108 + + + celular + + + 122 + + done + + + 125 + + + tun @@ -844,6 +1099,13 @@ 1.IBEditorWindowLastContentRect 1.IBPluginDependency 104.IBPluginDependency + 107.IBPluginDependency + 108.IBPluginDependency + 109.IBPluginDependency + 117.IBPluginDependency + 120.IBPluginDependency + 122.IBPluginDependency + 125.IBPluginDependency 29.IBPluginDependency 30.IBPluginDependency 31.IBPluginDependency @@ -854,12 +1116,8 @@ 37.IBPluginDependency 38.IBPluginDependency 39.IBPluginDependency - 4.IBPluginDependency 40.IBPluginDependency 41.IBPluginDependency - 42.IBPluginDependency - 5.IBPluginDependency - 7.IBPluginDependency 80.IBEditorWindowLastContentRect 80.IBPluginDependency 81.IBPluginDependency @@ -887,7 +1145,10 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{353, 469}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{39, 631}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -912,7 +1173,7 @@ - 106 + 127 @@ -943,16 +1204,20 @@ back call eight + endPhoneNumEditing five four + gsmCall hash + linphoneDelegate nine one + pad seven six star - status three + tun two zero @@ -967,10 +1232,14 @@ UIButton UIButton UIButton + id + UIButton + UIButton + UIView + UIButton UIButton UIButton UIButton - UILabel UIButton UIButton UIButton diff --git a/Classes/bitlib.cc b/Classes/bitlib.cc new file mode 100644 index 000000000..d837d692c --- /dev/null +++ b/Classes/bitlib.cc @@ -0,0 +1,216 @@ +#include "bitlib.hh" +#include +typedef unsigned int UInt32; +namespace BitLib +{ + + // ---------------------------------------------------------------------------------------- + UInt64 Bit::Add(int start, int length, UInt64 val, UInt32 numToAdd) + { + int end = start + length - 1; + + UInt64 result = val; + + // Clear out bits that will be modified + for (int i = start; i <= end; i++) + { + result &= ~((UInt64)1 << i); + } + + UInt64 n = val >> start; + n += numToAdd; + + for (int i = 0; i < length; i++) + { + UInt64 b = n & ((UInt64)1 << i); + b = b << start; + result |= b; + } + + return result; + } + + // ---------------------------------------------------------------------------------------- + UInt64 Bit::Subtract(int start, int length, UInt64 val, UInt32 numToSubtract) + { + int end = start + length - 1; + + UInt64 result = val; + + // Clear out bits that will be modified + for (int i = start; i <= end; i++) + { + result &= ~((UInt64)1 << i); + } + + UInt64 n = val >> start; + n -= numToSubtract; + + for (int i = 0; i < length; i++) + { + UInt64 b = n & ((UInt64)1 << i); + b = b << start; + result |= b; + } + + return result; + } + + // ---------------------------------------------------------------------------------------- + UInt64 Bit::Xor(int start, int length, UInt64 val, UInt32 val2) + { + int end = start + length - 1; + + UInt64 result = val; + + for (int i = 0; i < length; i++) + { + UInt64 b = val2 & ((UInt64)1 << i); + b = b << start; + result ^= b; + } + + return result; + } + + // ---------------------------------------------------------------------------------------- + UInt64 Bit::RotateLeft(int start, int length, UInt64 val) + { + if (length <= 1) + { + return val; + } + + int end = start + length - 1; + + if (end >= 48) + { + abort(); + } + + UInt64 result = val; + + // Clear out bits that will be modified + for (int i = start; i <= end; i++) + { + result &= ~((UInt64)1 << i); + } + + // Shift all bits except the last + for (int i = start; i < end; i++) + { + UInt64 b = val & ((UInt64)1 << i); + result |= (b << 1); + } + + // Wrap the last bit + { + UInt64 b = val & ((UInt64)1 << end); + result |= (b >> (length-1)); + } + + return result; + } + + // ---------------------------------------------------------------------------------------- + UInt64 Bit::RotateRight(int start, int length, UInt64 val) + { + if (length <= 1) + { + return val; + } + + int end = start + length - 1; + + if (end >= 48) + { + abort(); + } + + UInt64 result = val; + + // Clear out bits that will be modified + for (int i = start; i <= end; i++) + { + result &= ~((UInt64)1 << i); + } + + // Shift all bits except the first + for (int i = start+1; i <= end; i++) + { + UInt64 b = val & ((UInt64)1 << i); + result |= (b >> 1); + } + + // Wrap the first bit + { + UInt64 b = val & ((UInt64)1 << start); + result |= (b << (length - 1)); + } + + return result; + } + + // ---------------------------------------------------------------------------------------- + UInt64 Bit::Swizzle(UInt64 val, const int operations[], int op_len) + { + int index = 0; + + while (index < op_len) + { + Operation op = (Operation)operations[index++]; + + switch (op) + { + case OpRor: + { + int start = operations[index++]; + int length = operations[index++]; + val = RotateRight(start, length, val); + break; + } + + case OpRol: + { + int start = operations[index++]; + int length = operations[index++]; + val = RotateLeft(start, length, val); + break; + } + + case OpAdd: + { + int start = operations[index++]; + int length = operations[index++]; + UInt32 toAdd = (UInt32)operations[index++]; + val = Add(start, length, val, toAdd); + break; + } + + case OpSubtract: + { + int start = operations[index++]; + int length = operations[index++]; + UInt32 toSubtract = (UInt32)operations[index++]; + val = Subtract(start, length, val, toSubtract); + break; + } + + case OpXor: + { + int start = operations[index++]; + int length = operations[index++]; + UInt32 toXor = (UInt32)operations[index++]; + val = Xor(start, length, val, toXor); + break; + } + + default: + break; + } + } + + return val; + } + +} diff --git a/Classes/bitlib.hh b/Classes/bitlib.hh new file mode 100644 index 000000000..0c113ef28 --- /dev/null +++ b/Classes/bitlib.hh @@ -0,0 +1,26 @@ +#include +#include + +typedef uint64_t UInt64; +typedef unsigned int UInt32; +typedef uint8_t byte; +typedef unsigned int uint; +namespace BitLib{ + class Bit{ + public: + enum Operation{ + OpRor = 0, + OpRol, + OpAdd, + OpSubtract, + OpXor, + OpMax + }; + static UInt64 Add(int start, int length, UInt64 val, UInt32 numToAdd); + static UInt64 Subtract(int start, int length, UInt64 val, UInt32 numToSubtract); + static UInt64 Xor(int start, int length, UInt64 val, UInt32 val2); + static UInt64 RotateLeft(int start, int length, UInt64 val); + static UInt64 RotateRight(int start, int length, UInt64 val); + static UInt64 Swizzle(UInt64 val, const int operations[], int oplen); + }; +} diff --git a/Classes/codechecker.cc b/Classes/codechecker.cc new file mode 100644 index 000000000..7a1c0034c --- /dev/null +++ b/Classes/codechecker.cc @@ -0,0 +1,98 @@ +#include "codechecker.hh" +#include +#include +#include + +#include "decodetable.cc" + +using namespace BitLib; + +namespace axcodechecker{ + +CodeChecker * CodeChecker::sUnique=0; + +CodeChecker * CodeChecker::get(){ + if (sUnique==0) + sUnique=new CodeChecker(); + return sUnique; +} + +CodeChecker::CodeChecker(){ + memset(mIpAddress,0,sizeof(mIpAddress)); + memset(mCode,0,sizeof(mCode)); + memset(mNumber,0,sizeof(mNumber)); +} + +static UInt64 hexStringToUint64(const char *str){ + return strtoll(str,NULL,16); +} + +CodeChecker::Result CodeChecker::validate(){ + UInt64 key = hexStringToUint64(mCode); + + key = Bit::Swizzle(key, decodeTable, decodeTableLen); + + UInt32 ip = (UInt32)(key >> 16); + byte phoneHash = (byte)(key >> 8); + byte crc = (byte)key; + + byte b1 = (byte)(phoneHash & 0xff); + byte b2 = (byte)(ip & 0xff); + byte b3 = (byte)((ip >> 8) & 0xff); + byte b4 = (byte)((ip >> 16) & 0xff); + byte b5 = (byte)((ip >> 24) & 0xff); + + byte crc2 = (byte)(b5 ^ b1 ^ b4 ^ b2 ^ b3); + + if (crc == crc2) + { + if (phoneHash == sdbmHash(mNumber)) + { + struct in_addr ia; + ia.s_addr=htonl(ip); + inet_ntop(AF_INET,&ia,mIpAddress,sizeof(mIpAddress)); + return Ok; + } + else + { + return WrongPhoneNumber; + } + } + + return WrongCode; +} + +byte CodeChecker::sdbmHash(const char *str){ + uint hash = 0; + int i; + int ch; + for(i=0;str[i]!='\0';++i){ + ch=str[i]; + hash = ch + (hash << 6) + (hash << 16) - hash; + } + return (byte)hash; +} + +void CodeChecker::setCode(const char *code){ + strncpy(mCode,code,sizeof(mCode)); +} + +void CodeChecker::setPhoneNumber(const char *phoneNumber){ + strncpy(mNumber,phoneNumber,sizeof(mNumber)); +} + + +} + +extern "C" const char* axtunnel_get_ip_from_key(const char* phone,const char* key) { + axcodechecker::CodeChecker::get()->setPhoneNumber(phone); + axcodechecker::CodeChecker::get()->setCode(key); + axcodechecker::CodeChecker::Result result=axcodechecker::CodeChecker::get()->validate(); + if (result == axcodechecker::CodeChecker::Ok) { + return axcodechecker::CodeChecker::get()->getIpAddress(); + } else { + return 0; + } + +} + diff --git a/Classes/codechecker.hh b/Classes/codechecker.hh new file mode 100644 index 000000000..94ec376f4 --- /dev/null +++ b/Classes/codechecker.hh @@ -0,0 +1,25 @@ +#include "bitlib.hh" + +namespace axcodechecker{ + +class CodeChecker{ + public: + enum Result{ Ok, WrongPhoneNumber, WrongCode}; + static CodeChecker *get(); + void setCode(const char *code); + void setPhoneNumber(const char *phoneNumber); + Result validate(); + const char *getIpAddress()const{ + return mIpAddress; + } + private: + byte sdbmHash(const char *str); + CodeChecker(); + char mCode[64]; + char mNumber[32]; + char mIpAddress[32]; + static CodeChecker *sUnique; +}; + +}//end of namespace + diff --git a/Classes/codetest.cc b/Classes/codetest.cc new file mode 100644 index 000000000..c070e6787 --- /dev/null +++ b/Classes/codetest.cc @@ -0,0 +1,23 @@ +#include "codechecker.hh" + +using namespace axcodechecker; + +int main(int argc, char *argv[]){ + if (argc<3){ + printf("codetest [key] [phone number]\n"); + return -1; + } + CodeChecker *cc=CodeChecker::get(); + cc->setCode(argv[1]); + cc->setPhoneNumber(argv[2]); + CodeChecker::Result r=cc->validate(); + if (r==CodeChecker::Ok){ + printf("Key and number are valid; ip address is %s\n",cc->getIpAddress()); + }else if (r==CodeChecker::WrongPhoneNumber){ + printf("Phone number verification failed\n"); + }else if (r==CodeChecker::WrongCode){ + printf("Key verification failed.\n"); + } + return 0; +} + diff --git a/Classes/decodetable.cc b/Classes/decodetable.cc new file mode 100644 index 000000000..241766d58 --- /dev/null +++ b/Classes/decodetable.cc @@ -0,0 +1,7177 @@ + +namespace axcodechecker{ + +const int decodeTable[] ={ + 1, + 21, + 4, + 0, + 30, + 9, + 3, + 11, + 28, + 1217232186, + 2, + 11, + 36, + 1060279211, + 3, + 13, + 8, + 939789905, + 1, + 3, + 41, + 4, + 18, + 22, + 1571481803, + 2, + 10, + 33, + 1907837539, + 3, + 18, + 30, + 421837163, + 4, + 9, + 35, + 1349232055, + 1, + 3, + 31, + 1, + 4, + 38, + 0, + 8, + 30, + 1, + 3, + 9, + 0, + 18, + 29, + 1, + 0, + 27, + 1, + 1, + 37, + 0, + 10, + 38, + 4, + 6, + 29, + 2027756016, + 4, + 2, + 39, + 215262248, + 2, + 3, + 36, + 995652609, + 0, + 14, + 19, + 4, + 9, + 28, + 1895366794, + 4, + 18, + 30, + 1415759651, + 2, + 13, + 34, + 1672699343, + 1, + 10, + 24, + 0, + 0, + 46, + 1, + 6, + 37, + 1, + 5, + 43, + 2, + 30, + 8, + 497276104, + 2, + 14, + 9, + 2008252478, + 4, + 10, + 31, + 712364045, + 1, + 1, + 44, + 3, + 21, + 18, + 1821570058, + 3, + 7, + 22, + 1812419469, + 0, + 41, + 6, + 2, + 32, + 12, + 207622921, + 0, + 19, + 26, + 4, + 10, + 37, + 2037352532, + 0, + 10, + 17, + 0, + 1, + 47, + 0, + 26, + 22, + 1, + 20, + 3, + 3, + 2, + 43, + 1593980308, + 3, + 5, + 5, + 572868233, + 2, + 33, + 14, + 2134598508, + 3, + 14, + 28, + 2001243152, + 4, + 1, + 40, + 177270560, + 1, + 5, + 29, + 1, + 1, + 44, + 1, + 9, + 26, + 2, + 1, + 24, + 2043733370, + 3, + 32, + 14, + 1712591542, + 2, + 6, + 38, + 1294905875, + 3, + 10, + 24, + 58845011, + 0, + 1, + 43, + 0, + 34, + 2, + 4, + 11, + 37, + 709572094, + 0, + 8, + 36, + 4, + 4, + 44, + 58470520, + 4, + 11, + 22, + 1101375582, + 1, + 8, + 39, + 3, + 14, + 24, + 647551299, + 0, + 10, + 35, + 4, + 20, + 26, + 587525688, + 3, + 9, + 18, + 2070760894, + 3, + 16, + 16, + 820364359, + 4, + 0, + 28, + 1301285496, + 3, + 2, + 27, + 175944550, + 0, + 4, + 35, + 2, + 0, + 41, + 183096166, + 4, + 6, + 38, + 208699437, + 2, + 6, + 29, + 505922018, + 1, + 10, + 15, + 4, + 14, + 17, + 2091025433, + 4, + 3, + 45, + 301156452, + 0, + 7, + 38, + 0, + 4, + 14, + 1, + 0, + 48, + 4, + 36, + 12, + 1824637092, + 2, + 11, + 37, + 100725392, + 0, + 7, + 26, + 0, + 5, + 23, + 1, + 1, + 47, + 3, + 10, + 26, + 728599346, + 4, + 13, + 30, + 295101636, + 2, + 21, + 22, + 344366369, + 1, + 29, + 16, + 3, + 6, + 41, + 983944222, + 3, + 10, + 23, + 608634719, + 4, + 2, + 46, + 2079487336, + 1, + 3, + 40, + 1, + 16, + 11, + 3, + 13, + 25, + 16080996, + 3, + 16, + 25, + 1666014650, + 2, + 14, + 20, + 436949624, + 0, + 17, + 15, + 2, + 0, + 27, + 1589979406, + 4, + 6, + 7, + 2141521097, + 4, + 34, + 14, + 2089875073, + 1, + 8, + 6, + 1, + 26, + 9, + 4, + 2, + 32, + 640889048, + 3, + 7, + 26, + 1052179158, + 0, + 10, + 26, + 1, + 1, + 46, + 4, + 0, + 26, + 1652921901, + 0, + 14, + 30, + 0, + 18, + 10, + 1, + 1, + 46, + 2, + 0, + 46, + 477247439, + 2, + 13, + 33, + 1806178004, + 4, + 13, + 14, + 105074245, + 2, + 8, + 17, + 609907112, + 4, + 3, + 18, + 625387188, + 1, + 16, + 4, + 4, + 19, + 25, + 91266710, + 0, + 4, + 44, + 3, + 4, + 22, + 97343738, + 4, + 37, + 5, + 1733642964, + 3, + 5, + 42, + 987322793, + 2, + 4, + 28, + 1768665832, + 1, + 4, + 29, + 3, + 13, + 14, + 838162831, + 4, + 31, + 3, + 793845048, + 0, + 0, + 26, + 4, + 23, + 4, + 1257449521, + 3, + 14, + 32, + 1317313871, + 2, + 22, + 3, + 1838209015, + 0, + 2, + 42, + 1, + 1, + 5, + 3, + 3, + 39, + 125597057, + 2, + 41, + 6, + 724335525, + 1, + 42, + 6, + 3, + 14, + 6, + 1424368332, + 1, + 14, + 32, + 2, + 31, + 14, + 1058735916, + 1, + 2, + 3, + 4, + 9, + 24, + 1032858159, + 2, + 4, + 39, + 1098291945, + 1, + 7, + 7, + 3, + 3, + 34, + 293545448, + 2, + 22, + 24, + 1674072949, + 4, + 0, + 48, + 1186843169, + 0, + 15, + 9, + 2, + 5, + 41, + 822900458, + 0, + 8, + 10, + 3, + 36, + 3, + 2006363132, + 2, + 14, + 23, + 1862654099, + 3, + 22, + 15, + 1432936357, + 4, + 6, + 3, + 1376688522, + 4, + 16, + 25, + 706149268, + 3, + 2, + 46, + 830505129, + 4, + 8, + 24, + 1911105954, + 3, + 14, + 18, + 540579813, + 0, + 10, + 32, + 3, + 3, + 43, + 552472857, + 3, + 11, + 6, + 841282345, + 0, + 23, + 24, + 0, + 5, + 38, + 0, + 0, + 48, + 4, + 6, + 39, + 281967555, + 3, + 0, + 31, + 437620900, + 4, + 12, + 36, + 709018401, + 2, + 7, + 37, + 402310411, + 4, + 26, + 19, + 306409741, + 1, + 5, + 40, + 1, + 18, + 19, + 2, + 4, + 16, + 2131562014, + 2, + 28, + 8, + 878830921, + 2, + 6, + 20, + 2051997965, + 3, + 14, + 26, + 361626774, + 3, + 3, + 43, + 595590504, + 3, + 16, + 31, + 1484493133, + 1, + 6, + 10, + 4, + 40, + 6, + 307105125, + 0, + 2, + 37, + 2, + 0, + 45, + 1482183853, + 0, + 9, + 31, + 0, + 20, + 26, + 1, + 11, + 16, + 4, + 1, + 29, + 936496184, + 3, + 32, + 8, + 230271058, + 0, + 22, + 16, + 3, + 29, + 17, + 605551452, + 2, + 9, + 30, + 1137537523, + 3, + 10, + 5, + 226321795, + 2, + 2, + 34, + 199115297, + 4, + 4, + 30, + 1274059281, + 1, + 21, + 23, + 3, + 16, + 24, + 813494435, + 2, + 6, + 42, + 1132154634, + 1, + 10, + 35, + 4, + 7, + 15, + 1688423837, + 0, + 4, + 8, + 1, + 1, + 38, + 3, + 31, + 4, + 1749990619, + 1, + 8, + 35, + 1, + 4, + 22, + 1, + 10, + 5, + 2, + 7, + 32, + 1312889384, + 3, + 5, + 43, + 1980747529, + 1, + 31, + 14, + 0, + 20, + 17, + 4, + 17, + 4, + 1278708255, + 4, + 18, + 14, + 135595722, + 3, + 4, + 11, + 187150930, + 1, + 10, + 37, + 3, + 37, + 10, + 1397672667, + 3, + 15, + 27, + 1159825981, + 0, + 7, + 13, + 2, + 4, + 39, + 650962879, + 3, + 29, + 5, + 392491237, + 1, + 28, + 11, + 2, + 10, + 25, + 2109177757, + 4, + 39, + 9, + 633244289, + 1, + 6, + 9, + 1, + 12, + 34, + 4, + 9, + 21, + 719239337, + 1, + 7, + 29, + 4, + 22, + 3, + 1972812615, + 0, + 12, + 5, + 4, + 29, + 2, + 87629590, + 3, + 16, + 2, + 1941136524, + 4, + 16, + 32, + 1661607360, + 2, + 14, + 9, + 208480464, + 1, + 10, + 19, + 2, + 6, + 35, + 1837746505, + 1, + 8, + 34, + 4, + 0, + 48, + 945720071, + 4, + 1, + 46, + 605380553, + 0, + 9, + 11, + 2, + 18, + 13, + 1874074965, + 1, + 8, + 39, + 1, + 2, + 27, + 3, + 2, + 44, + 1488439608, + 0, + 6, + 29, + 4, + 18, + 13, + 2058895429, + 1, + 22, + 23, + 4, + 30, + 15, + 272034346, + 2, + 0, + 46, + 132330102, + 1, + 42, + 5, + 0, + 1, + 47, + 2, + 1, + 47, + 1749158287, + 3, + 5, + 13, + 992088557, + 2, + 9, + 7, + 1902357953, + 1, + 1, + 40, + 1, + 4, + 21, + 1, + 6, + 11, + 1, + 8, + 37, + 1, + 36, + 2, + 2, + 1, + 39, + 2030762263, + 2, + 8, + 20, + 916337425, + 0, + 16, + 20, + 0, + 15, + 32, + 1, + 4, + 30, + 0, + 6, + 41, + 4, + 30, + 7, + 297342488, + 2, + 2, + 13, + 1655369659, + 0, + 13, + 26, + 2, + 3, + 39, + 37489456, + 0, + 19, + 25, + 0, + 21, + 26, + 0, + 10, + 38, + 3, + 27, + 14, + 584089680, + 0, + 27, + 16, + 4, + 24, + 18, + 771779224, + 4, + 32, + 15, + 1200408692, + 2, + 8, + 38, + 811472315, + 2, + 11, + 31, + 702091817, + 1, + 8, + 40, + 2, + 13, + 11, + 1943969158, + 0, + 23, + 8, + 3, + 2, + 34, + 181450092, + 4, + 15, + 17, + 114446520, + 2, + 30, + 2, + 20027564, + 0, + 2, + 42, + 4, + 6, + 8, + 1370810612, + 0, + 4, + 5, + 3, + 6, + 35, + 900910663, + 1, + 5, + 31, + 0, + 9, + 22, + 4, + 0, + 48, + 1466838776, + 4, + 12, + 26, + 1456217835, + 0, + 5, + 41, + 1, + 0, + 4, + 3, + 10, + 18, + 1313660458, + 1, + 10, + 28, + 0, + 8, + 40, + 0, + 8, + 40, + 0, + 46, + 2, + 1, + 5, + 13, + 2, + 4, + 16, + 1509123446, + 1, + 0, + 45, + 4, + 0, + 44, + 1546783562, + 2, + 9, + 13, + 749898154, + 4, + 11, + 26, + 1511133770, + 3, + 16, + 8, + 851929805, + 2, + 33, + 3, + 2113521308, + 2, + 9, + 9, + 1505295469, + 0, + 9, + 36, + 0, + 2, + 42, + 4, + 27, + 17, + 1801209212, + 2, + 5, + 23, + 2075840767, + 4, + 25, + 22, + 44566210, + 4, + 1, + 42, + 509469487, + 0, + 0, + 48, + 3, + 18, + 30, + 636136, + 1, + 2, + 14, + 2, + 11, + 19, + 1475140682, + 2, + 2, + 34, + 794464364, + 2, + 20, + 19, + 2020603257, + 3, + 29, + 8, + 835516351, + 1, + 19, + 17, + 3, + 2, + 46, + 1910296439, + 3, + 18, + 7, + 24068779, + 3, + 19, + 14, + 2108820167, + 0, + 10, + 4, + 3, + 0, + 47, + 1447889381, + 0, + 15, + 4, + 4, + 2, + 35, + 1491892822, + 4, + 1, + 38, + 746988391, + 1, + 3, + 43, + 0, + 9, + 17, + 0, + 5, + 35, + 0, + 1, + 35, + 1, + 0, + 19, + 3, + 10, + 4, + 830742970, + 3, + 5, + 4, + 1060331455, + 0, + 12, + 21, + 0, + 1, + 15, + 2, + 4, + 41, + 731683444, + 0, + 3, + 45, + 2, + 19, + 6, + 1941983084, + 4, + 21, + 2, + 360737189, + 2, + 10, + 27, + 1685420834, + 4, + 37, + 11, + 1011986097, + 3, + 1, + 47, + 2013362839, + 3, + 0, + 38, + 523444042, + 1, + 2, + 26, + 3, + 0, + 48, + 723354555, + 1, + 15, + 27, + 4, + 9, + 22, + 1258060291, + 3, + 42, + 6, + 927759465, + 2, + 16, + 11, + 1540414473, + 2, + 22, + 22, + 340045319, + 3, + 9, + 21, + 1139276092, + 0, + 0, + 46, + 0, + 40, + 4, + 3, + 12, + 26, + 352556327, + 1, + 3, + 33, + 4, + 8, + 21, + 1954497593, + 3, + 1, + 45, + 921278290, + 0, + 20, + 11, + 2, + 15, + 16, + 1420268071, + 2, + 18, + 28, + 1568724333, + 4, + 32, + 4, + 787791086, + 2, + 9, + 19, + 1689744600, + 4, + 28, + 4, + 1978992565, + 1, + 5, + 42, + 1, + 10, + 26, + 1, + 23, + 6, + 1, + 27, + 14, + 0, + 37, + 4, + 1, + 1, + 45, + 4, + 14, + 25, + 380446330, + 0, + 18, + 13, + 3, + 16, + 21, + 1756488971, + 2, + 7, + 38, + 742475240, + 4, + 2, + 42, + 88000312, + 3, + 3, + 44, + 497247625, + 4, + 4, + 43, + 170751616, + 2, + 20, + 20, + 914700902, + 3, + 0, + 31, + 1952750165, + 2, + 43, + 4, + 1501523531, + 0, + 13, + 35, + 2, + 38, + 10, + 180796798, + 3, + 4, + 27, + 1442402207, + 4, + 30, + 17, + 947875725, + 3, + 19, + 15, + 1551257126, + 0, + 0, + 12, + 3, + 1, + 34, + 183773046, + 0, + 29, + 7, + 2, + 3, + 29, + 25427839, + 0, + 29, + 12, + 3, + 6, + 36, + 1076678656, + 3, + 4, + 10, + 1538526883, + 1, + 36, + 5, + 3, + 7, + 3, + 1332439318, + 3, + 4, + 41, + 1877175332, + 3, + 9, + 39, + 409832546, + 2, + 18, + 24, + 1558823089, + 3, + 1, + 18, + 881262211, + 2, + 39, + 8, + 192375433, + 1, + 0, + 9, + 4, + 21, + 21, + 1844798794, + 1, + 32, + 14, + 3, + 23, + 10, + 942676302, + 4, + 32, + 15, + 470061162, + 0, + 5, + 17, + 3, + 18, + 28, + 1081855694, + 2, + 14, + 25, + 1864537912, + 2, + 13, + 4, + 714896776, + 3, + 36, + 6, + 423400897, + 0, + 3, + 21, + 1, + 10, + 4, + 2, + 12, + 4, + 1326533032, + 4, + 23, + 6, + 13967878, + 4, + 0, + 44, + 822779088, + 4, + 6, + 25, + 1831840237, + 0, + 1, + 38, + 2, + 4, + 37, + 2071919680, + 2, + 22, + 22, + 1409915422, + 0, + 1, + 8, + 1, + 6, + 12, + 1, + 14, + 8, + 2, + 0, + 19, + 1202965674, + 2, + 30, + 4, + 1504803672, + 0, + 19, + 3, + 2, + 18, + 14, + 1841079159, + 3, + 16, + 13, + 1185427883, + 2, + 6, + 31, + 1633566984, + 3, + 2, + 39, + 813183233, + 4, + 26, + 16, + 936801089, + 1, + 5, + 7, + 0, + 1, + 41, + 3, + 2, + 38, + 1500187716, + 4, + 6, + 26, + 127229593, + 2, + 14, + 32, + 86372979, + 3, + 21, + 9, + 2112822561, + 4, + 0, + 39, + 539953473, + 3, + 2, + 44, + 1503669279, + 3, + 12, + 34, + 1231207331, + 4, + 26, + 19, + 172093626, + 1, + 8, + 27, + 3, + 43, + 2, + 852061936, + 2, + 24, + 5, + 906676992, + 2, + 46, + 2, + 1504595798, + 0, + 0, + 26, + 1, + 0, + 20, + 3, + 12, + 35, + 520885693, + 2, + 13, + 24, + 1518716688, + 3, + 10, + 37, + 176438571, + 3, + 12, + 31, + 1377237880, + 0, + 10, + 34, + 3, + 40, + 7, + 989412017, + 1, + 3, + 25, + 0, + 3, + 16, + 4, + 16, + 32, + 1340115496, + 3, + 4, + 9, + 1189863015, + 4, + 21, + 14, + 143541343, + 4, + 11, + 32, + 816120182, + 1, + 8, + 9, + 1, + 27, + 20, + 2, + 22, + 15, + 370006333, + 2, + 0, + 15, + 766732076, + 0, + 3, + 39, + 3, + 17, + 26, + 168272253, + 3, + 6, + 41, + 1593085443, + 4, + 5, + 42, + 2047936363, + 3, + 16, + 24, + 1613479085, + 4, + 4, + 24, + 902757439, + 3, + 13, + 20, + 1397344971, + 4, + 20, + 18, + 503570792, + 3, + 3, + 42, + 1566502594, + 1, + 3, + 31, + 0, + 6, + 12, + 3, + 29, + 3, + 797655165, + 4, + 8, + 33, + 1872815729, + 2, + 2, + 16, + 2010345926, + 4, + 5, + 39, + 1715798309, + 2, + 0, + 46, + 2065057256, + 4, + 3, + 22, + 1843860816, + 0, + 1, + 40, + 2, + 11, + 34, + 1135341935, + 2, + 12, + 12, + 1687199516, + 3, + 16, + 30, + 596371262, + 1, + 11, + 13, + 4, + 7, + 39, + 1629535819, + 1, + 13, + 11, + 4, + 3, + 38, + 2072802791, + 1, + 14, + 24, + 0, + 4, + 44, + 4, + 3, + 45, + 1006464693, + 1, + 4, + 42, + 2, + 1, + 36, + 1400720051, + 4, + 1, + 44, + 2024868388, + 1, + 10, + 18, + 0, + 4, + 38, + 2, + 5, + 23, + 632249491, + 4, + 2, + 44, + 821255815, + 4, + 19, + 5, + 782086486, + 3, + 18, + 12, + 1896921307, + 3, + 37, + 9, + 940528272, + 3, + 18, + 20, + 611131015, + 0, + 10, + 34, + 3, + 4, + 41, + 1831409099, + 1, + 12, + 36, + 3, + 2, + 25, + 2075981892, + 4, + 0, + 34, + 1384760765, + 2, + 5, + 13, + 1685963599, + 4, + 3, + 36, + 2067687660, + 3, + 22, + 18, + 419386292, + 0, + 16, + 14, + 2, + 8, + 3, + 2041550346, + 3, + 37, + 9, + 1260242377, + 2, + 4, + 41, + 658717290, + 2, + 8, + 31, + 2079801976, + 4, + 0, + 37, + 1118624517, + 2, + 2, + 44, + 1476231872, + 4, + 10, + 24, + 2085813231, + 0, + 4, + 15, + 4, + 32, + 4, + 2022440402, + 2, + 6, + 27, + 102206971, + 2, + 5, + 41, + 1504808261, + 0, + 8, + 34, + 1, + 5, + 19, + 3, + 8, + 36, + 1819148741, + 0, + 0, + 48, + 0, + 33, + 12, + 4, + 6, + 31, + 324090827, + 1, + 1, + 46, + 4, + 39, + 9, + 1134063552, + 4, + 20, + 10, + 1778673275, + 1, + 1, + 43, + 1, + 12, + 8, + 4, + 33, + 7, + 262420411, + 0, + 20, + 13, + 2, + 27, + 11, + 1009020307, + 3, + 11, + 35, + 1880880246, + 4, + 4, + 42, + 1902032038, + 0, + 9, + 36, + 1, + 24, + 24, + 1, + 2, + 44, + 2, + 15, + 27, + 1913286889, + 4, + 1, + 42, + 222497741, + 0, + 14, + 21, + 0, + 8, + 40, + 0, + 14, + 7, + 1, + 3, + 45, + 3, + 1, + 30, + 1895467792, + 4, + 8, + 12, + 7317839, + 0, + 12, + 31, + 1, + 35, + 8, + 0, + 32, + 5, + 2, + 8, + 37, + 166913969, + 1, + 0, + 47, + 4, + 1, + 47, + 933889387, + 1, + 5, + 34, + 1, + 9, + 14, + 4, + 6, + 39, + 437078063, + 2, + 3, + 45, + 1653218429, + 2, + 9, + 30, + 838787608, + 0, + 9, + 38, + 0, + 6, + 40, + 1, + 5, + 11, + 3, + 19, + 21, + 185062208, + 1, + 34, + 5, + 1, + 27, + 7, + 4, + 27, + 2, + 1824379254, + 3, + 31, + 9, + 2120070803, + 3, + 4, + 44, + 1874562419, + 2, + 3, + 43, + 1436781032, + 1, + 1, + 8, + 1, + 30, + 11, + 2, + 1, + 7, + 1838620788, + 0, + 26, + 3, + 4, + 18, + 28, + 1527037210, + 3, + 3, + 31, + 308420944, + 2, + 5, + 35, + 1772979440, + 1, + 20, + 14, + 0, + 6, + 11, + 2, + 22, + 2, + 2136625908, + 1, + 1, + 12, + 0, + 10, + 4, + 3, + 22, + 19, + 1255351293, + 1, + 34, + 4, + 4, + 0, + 37, + 2142726419, + 4, + 4, + 36, + 1266759785, + 3, + 1, + 41, + 384780865, + 4, + 1, + 31, + 373695168, + 1, + 0, + 48, + 4, + 2, + 42, + 1712938460, + 2, + 28, + 8, + 1377998903, + 0, + 0, + 48, + 3, + 2, + 45, + 1427859538, + 2, + 18, + 7, + 41616730, + 1, + 2, + 16, + 4, + 5, + 32, + 602203709, + 0, + 11, + 36, + 3, + 0, + 44, + 1782420758, + 0, + 26, + 21, + 1, + 1, + 29, + 0, + 7, + 40, + 1, + 11, + 32, + 3, + 4, + 6, + 1036473349, + 0, + 38, + 2, + 3, + 1, + 45, + 1156801361, + 4, + 9, + 22, + 64670506, + 3, + 13, + 23, + 1079535874, + 2, + 15, + 8, + 1374216437, + 3, + 0, + 41, + 25251342, + 0, + 11, + 17, + 2, + 18, + 16, + 526035448, + 0, + 0, + 44, + 4, + 28, + 15, + 532461943, + 3, + 10, + 30, + 609860178, + 1, + 1, + 44, + 1, + 18, + 10, + 2, + 0, + 47, + 1197158770, + 4, + 25, + 23, + 1201545028, + 1, + 21, + 15, + 4, + 18, + 26, + 1766661539, + 3, + 7, + 23, + 673836974, + 2, + 30, + 2, + 1486342399, + 2, + 1, + 35, + 1291192974, + 2, + 22, + 24, + 995271221, + 1, + 18, + 9, + 4, + 8, + 31, + 1652410013, + 1, + 16, + 19, + 3, + 2, + 46, + 1943547482, + 0, + 13, + 14, + 0, + 35, + 9, + 0, + 2, + 46, + 3, + 4, + 36, + 637954444, + 3, + 2, + 19, + 1440053031, + 3, + 17, + 13, + 1587678048, + 4, + 0, + 38, + 433416885, + 3, + 24, + 12, + 1037084783, + 0, + 0, + 46, + 4, + 2, + 37, + 865740191, + 4, + 17, + 31, + 72185519, + 0, + 45, + 2, + 0, + 5, + 27, + 4, + 7, + 37, + 230312325, + 1, + 0, + 42, + 1, + 6, + 31, + 2, + 2, + 42, + 139391893, + 2, + 1, + 47, + 753320356, + 2, + 40, + 3, + 1128474247, + 1, + 1, + 42, + 3, + 9, + 33, + 1290821208, + 1, + 5, + 18, + 0, + 1, + 34, + 2, + 27, + 20, + 26221653, + 4, + 5, + 22, + 1030030583, + 0, + 0, + 32, + 3, + 4, + 31, + 1233972964, + 2, + 20, + 19, + 365099113, + 0, + 0, + 48, + 1, + 9, + 34, + 0, + 26, + 17, + 2, + 19, + 11, + 1713845597, + 4, + 20, + 2, + 1074215581, + 4, + 3, + 20, + 614938453, + 4, + 1, + 5, + 1071012464, + 4, + 10, + 21, + 1166009956, + 3, + 6, + 33, + 108043919, + 1, + 18, + 28, + 3, + 36, + 12, + 631705846, + 3, + 5, + 35, + 255850441, + 1, + 2, + 46, + 2, + 39, + 9, + 1250686774, + 0, + 7, + 41, + 2, + 8, + 7, + 510468412, + 4, + 11, + 36, + 1312864541, + 3, + 3, + 14, + 1538835961, + 3, + 40, + 5, + 304676180, + 0, + 3, + 32, + 1, + 17, + 31, + 3, + 1, + 37, + 1484614048, + 2, + 2, + 18, + 984002768, + 1, + 2, + 33, + 3, + 13, + 32, + 1460771640, + 3, + 16, + 24, + 1013842645, + 2, + 14, + 20, + 1611033725, + 2, + 7, + 32, + 1529414088, + 2, + 7, + 40, + 745595386, + 1, + 3, + 45, + 1, + 13, + 33, + 0, + 7, + 20, + 4, + 5, + 25, + 1474088570, + 2, + 12, + 29, + 373688622, + 4, + 24, + 24, + 1677010602, + 3, + 21, + 9, + 2011147375, + 4, + 9, + 38, + 1776514496, + 2, + 0, + 43, + 687609601, + 0, + 17, + 16, + 0, + 10, + 21, + 0, + 19, + 7, + 4, + 4, + 33, + 937447556, + 0, + 7, + 31, + 2, + 28, + 20, + 1079441999, + 0, + 19, + 9, + 0, + 5, + 20, + 2, + 18, + 19, + 37845374, + 4, + 0, + 48, + 1418474330, + 4, + 3, + 39, + 955494310, + 1, + 0, + 37, + 1, + 1, + 47, + 2, + 16, + 27, + 437323863, + 1, + 19, + 26, + 2, + 45, + 3, + 1240131416, + 1, + 0, + 42, + 1, + 3, + 22, + 1, + 20, + 9, + 1, + 6, + 32, + 0, + 2, + 36, + 1, + 4, + 19, + 3, + 10, + 24, + 2103479486, + 4, + 11, + 17, + 88985634, + 3, + 5, + 38, + 937358670, + 1, + 3, + 16, + 4, + 3, + 30, + 251985825, + 3, + 2, + 36, + 459881799, + 1, + 3, + 27, + 0, + 24, + 6, + 0, + 7, + 19, + 0, + 8, + 34, + 3, + 30, + 15, + 143530136, + 4, + 6, + 30, + 53484286, + 3, + 5, + 31, + 197885629, + 4, + 2, + 29, + 440688406, + 2, + 0, + 47, + 1417115986, + 0, + 6, + 24, + 0, + 19, + 26, + 2, + 13, + 18, + 1446987482, + 3, + 1, + 29, + 220613873, + 1, + 2, + 35, + 4, + 14, + 10, + 591575527, + 3, + 1, + 28, + 954281, + 2, + 11, + 37, + 1315579557, + 2, + 28, + 20, + 1259997468, + 2, + 28, + 13, + 615545316, + 3, + 22, + 20, + 957924410, + 4, + 36, + 9, + 1155715990, + 4, + 3, + 9, + 86441929, + 4, + 9, + 32, + 821594425, + 2, + 2, + 4, + 1411498716, + 2, + 10, + 15, + 2134672701, + 0, + 0, + 47, + 2, + 41, + 7, + 1665705042, + 1, + 29, + 5, + 1, + 2, + 45, + 2, + 44, + 4, + 1813724568, + 2, + 3, + 44, + 1199034020, + 2, + 5, + 42, + 2069034833, + 3, + 1, + 47, + 844590236, + 2, + 27, + 9, + 714662515, + 4, + 8, + 27, + 1227962285, + 4, + 4, + 38, + 2046101750, + 1, + 6, + 42, + 3, + 15, + 12, + 891886666, + 2, + 22, + 4, + 50628534, + 3, + 30, + 18, + 1037710198, + 3, + 2, + 36, + 1083080329, + 4, + 14, + 27, + 1914969261, + 0, + 9, + 8, + 1, + 13, + 16, + 0, + 3, + 42, + 1, + 1, + 43, + 1, + 18, + 14, + 2, + 12, + 34, + 1059291313, + 0, + 0, + 48, + 1, + 30, + 16, + 3, + 14, + 28, + 2095483842, + 4, + 1, + 47, + 1741630713, + 3, + 11, + 21, + 2035278235, + 1, + 39, + 5, + 0, + 15, + 25, + 1, + 6, + 39, + 1, + 11, + 14, + 4, + 21, + 9, + 1589692445, + 2, + 15, + 18, + 1143478615, + 3, + 6, + 24, + 1367065700, + 4, + 1, + 11, + 1435974747, + 2, + 25, + 20, + 1501610, + 4, + 37, + 3, + 717871490, + 2, + 3, + 24, + 1220742256, + 0, + 1, + 46, + 0, + 17, + 9, + 4, + 0, + 27, + 1176402188, + 2, + 12, + 11, + 1630516104, + 1, + 0, + 46, + 4, + 1, + 47, + 1582314882, + 2, + 25, + 14, + 374417618, + 3, + 10, + 15, + 912050593, + 0, + 5, + 41, + 4, + 16, + 20, + 1772866457, + 3, + 19, + 12, + 398340629, + 2, + 8, + 3, + 22416580, + 0, + 6, + 9, + 2, + 2, + 29, + 1354227908, + 0, + 11, + 22, + 3, + 4, + 44, + 425972868, + 3, + 5, + 34, + 2094716713, + 4, + 7, + 35, + 439045785, + 3, + 12, + 19, + 1046006663, + 1, + 6, + 37, + 1, + 8, + 15, + 2, + 8, + 36, + 295361328, + 2, + 7, + 41, + 1730915036, + 0, + 5, + 28, + 2, + 0, + 48, + 671389473, + 0, + 5, + 35, + 0, + 5, + 35, + 0, + 14, + 9, + 2, + 41, + 3, + 1927677092, + 4, + 0, + 47, + 2055375290, + 2, + 24, + 10, + 1420019632, + 2, + 5, + 14, + 623876907, + 2, + 17, + 29, + 882776344, + 0, + 0, + 40, + 0, + 21, + 2, + 1, + 12, + 35, + 4, + 27, + 19, + 1946133873, + 3, + 42, + 2, + 1995113156, + 0, + 6, + 34, + 1, + 16, + 32, + 2, + 4, + 38, + 1484715630, + 2, + 0, + 24, + 1260557995, + 1, + 2, + 36, + 3, + 4, + 44, + 654464588, + 4, + 9, + 34, + 66037315, + 0, + 9, + 34, + 1, + 14, + 26, + 0, + 26, + 14, + 2, + 1, + 16, + 64817330, + 0, + 7, + 31, + 1, + 1, + 3, + 2, + 8, + 36, + 1195725018, + 0, + 10, + 2, + 2, + 23, + 14, + 2139912088, + 2, + 12, + 32, + 935852029, + 3, + 1, + 47, + 83389455, + 1, + 7, + 40, + 3, + 7, + 12, + 1478799649, + 0, + 20, + 22, + 0, + 18, + 9, + 0, + 13, + 20, + 0, + 12, + 32, + 0, + 11, + 7, + 3, + 1, + 47, + 1903311427, + 1, + 6, + 23, + 1, + 2, + 34, + 3, + 9, + 25, + 949411176, + 0, + 25, + 21, + 2, + 20, + 7, + 2064130635, + 0, + 18, + 28, + 1, + 3, + 34, + 2, + 12, + 36, + 1532813926, + 0, + 2, + 43, + 1, + 11, + 3, + 4, + 0, + 44, + 1269187671, + 1, + 6, + 10, + 3, + 23, + 9, + 862815007, + 0, + 0, + 34, + 2, + 32, + 2, + 210711999, + 1, + 0, + 46, + 4, + 13, + 18, + 61810195, + 1, + 2, + 43, + 2, + 0, + 48, + 1812226183, + 1, + 0, + 46, + 1, + 34, + 4, + 3, + 17, + 3, + 257260517, + 1, + 10, + 13, + 0, + 9, + 31, + 0, + 4, + 41, + 0, + 1, + 47, + 0, + 0, + 48, + 1, + 12, + 13, + 3, + 20, + 11, + 2099718934, + 0, + 6, + 40, + 4, + 32, + 2, + 289781736, + 2, + 5, + 43, + 2024169155, + 0, + 1, + 45, + 4, + 18, + 22, + 829121362, + 3, + 1, + 31, + 1912568918, + 2, + 37, + 9, + 1735945233, + 1, + 1, + 37, + 3, + 46, + 2, + 238004881, + 4, + 9, + 31, + 897325637, + 2, + 20, + 11, + 2097800571, + 4, + 12, + 33, + 1002470782, + 0, + 8, + 30, + 1, + 4, + 13, + 4, + 9, + 32, + 2083170130, + 1, + 6, + 23, + 0, + 4, + 11, + 3, + 5, + 35, + 1498418050, + 3, + 19, + 26, + 1167221808, + 4, + 17, + 30, + 1090544877, + 2, + 15, + 28, + 922009861, + 4, + 1, + 14, + 574207398, + 4, + 12, + 21, + 757909234, + 0, + 11, + 27, + 1, + 38, + 8, + 2, + 17, + 20, + 1583905809, + 4, + 0, + 28, + 942815703, + 2, + 19, + 22, + 2044226064, + 1, + 9, + 32, + 4, + 0, + 46, + 1100187675, + 2, + 4, + 41, + 845134265, + 3, + 35, + 8, + 1290706893, + 3, + 11, + 25, + 636303340, + 3, + 11, + 6, + 2082441313, + 2, + 8, + 26, + 1369876402, + 4, + 1, + 42, + 947772068, + 0, + 26, + 22, + 1, + 4, + 41, + 4, + 0, + 42, + 79650609, + 0, + 15, + 12, + 1, + 2, + 38, + 4, + 5, + 37, + 286358043, + 4, + 4, + 43, + 1755399272, + 1, + 4, + 25, + 2, + 1, + 40, + 1179838284, + 4, + 33, + 9, + 1741054211, + 4, + 1, + 14, + 796824486, + 0, + 1, + 16, + 1, + 2, + 41, + 4, + 0, + 39, + 589765913, + 0, + 14, + 26, + 1, + 14, + 34, + 4, + 29, + 13, + 1961648512, + 0, + 29, + 10, + 3, + 1, + 37, + 764096090, + 2, + 19, + 2, + 1088357966, + 2, + 9, + 35, + 1722822134, + 2, + 15, + 30, + 1095590789, + 0, + 7, + 4, + 4, + 22, + 24, + 707942706, + 0, + 15, + 21, + 1, + 1, + 47, + 2, + 17, + 30, + 1785813835, + 3, + 1, + 41, + 1753853394, + 0, + 10, + 17, + 3, + 33, + 8, + 255030197, + 3, + 18, + 3, + 1713048769, + 2, + 37, + 6, + 1871339212, + 1, + 0, + 47, + 4, + 33, + 15, + 1084181785, + 1, + 10, + 37, + 1, + 2, + 45, + 3, + 2, + 27, + 1080738984, + 4, + 20, + 13, + 1008697720, + 4, + 13, + 4, + 1314642764, + 0, + 6, + 42, + 1, + 5, + 16, + 1, + 7, + 37, + 0, + 0, + 45, + 3, + 13, + 6, + 1221027296, + 4, + 26, + 21, + 364240652, + 2, + 6, + 32, + 256771672, + 3, + 1, + 47, + 448351797, + 4, + 20, + 24, + 1823716922, + 0, + 23, + 5, + 1, + 8, + 26, + 0, + 14, + 28, + 1, + 1, + 25, + 0, + 10, + 37, + 1, + 20, + 3, + 3, + 3, + 11, + 1440693481, + 0, + 2, + 11, + 1, + 33, + 10, + 3, + 8, + 40, + 1403509519, + 1, + 2, + 39, + 1, + 10, + 37, + 2, + 38, + 3, + 1452489112, + 4, + 3, + 29, + 968473952, + 2, + 1, + 45, + 1244187636, + 0, + 6, + 33, + 4, + 11, + 32, + 1587673946, + 1, + 1, + 25, + 4, + 29, + 9, + 1811470793, + 3, + 3, + 4, + 503378937, + 1, + 5, + 13, + 4, + 34, + 3, + 985375124, + 1, + 32, + 12, + 1, + 3, + 37, + 4, + 6, + 40, + 39608908, + 0, + 0, + 30, + 4, + 10, + 8, + 511068724, + 4, + 3, + 42, + 1234105464, + 0, + 7, + 33, + 3, + 11, + 31, + 1799934115, + 0, + 18, + 22, + 1, + 1, + 47, + 1, + 4, + 44, + 2, + 1, + 31, + 1862755331, + 3, + 14, + 26, + 1298870200, + 1, + 12, + 35, + 2, + 22, + 25, + 1163281660, + 4, + 0, + 48, + 1015043897, + 1, + 33, + 7, + 2, + 13, + 33, + 260482860, + 3, + 14, + 17, + 811192934, + 0, + 24, + 3, + 0, + 34, + 6, + 2, + 6, + 42, + 621240425, + 0, + 2, + 39, + 0, + 23, + 25, + 3, + 0, + 44, + 287643271, + 1, + 4, + 25, + 1, + 3, + 35, + 3, + 8, + 27, + 403619372, + 0, + 1, + 46, + 0, + 4, + 43, + 3, + 31, + 3, + 737126771, + 4, + 16, + 24, + 650395626, + 0, + 0, + 40, + 1, + 11, + 11, + 2, + 20, + 21, + 668634870, + 0, + 8, + 20, + 2, + 20, + 7, + 1384120423, + 0, + 11, + 29, + 2, + 5, + 31, + 1593842280, + 3, + 17, + 24, + 577035560, + 0, + 26, + 16, + 0, + 2, + 43, + 0, + 33, + 10, + 1, + 1, + 47, + 4, + 3, + 13, + 2005260232, + 4, + 0, + 44, + 965705441, + 3, + 10, + 36, + 259719425, + 4, + 11, + 18, + 353205662, + 0, + 0, + 32, + 0, + 5, + 16, + 2, + 13, + 29, + 1769943543, + 3, + 3, + 23, + 1169367847, + 1, + 25, + 23, + 1, + 9, + 36, + 3, + 20, + 16, + 454736495, + 2, + 11, + 34, + 1856578787, + 0, + 8, + 40, + 2, + 15, + 17, + 937281394, + 1, + 8, + 19, + 1, + 13, + 33, + 2, + 6, + 37, + 998617629, + 3, + 5, + 40, + 1639210144, + 4, + 10, + 19, + 1508246763, + 4, + 2, + 38, + 1795376099, + 1, + 21, + 14, + 1, + 42, + 2, + 1, + 3, + 24, + 3, + 1, + 21, + 1943789332, + 1, + 3, + 24, + 3, + 24, + 22, + 1182406293, + 4, + 4, + 7, + 520939634, + 4, + 27, + 6, + 1296041345, + 3, + 18, + 20, + 1502910849, + 3, + 15, + 27, + 401087122, + 4, + 9, + 6, + 1121708, + 1, + 0, + 48, + 3, + 17, + 29, + 1593628976, + 0, + 1, + 39, + 2, + 16, + 12, + 162584341, + 4, + 26, + 8, + 2089848052, + 1, + 7, + 8, + 4, + 3, + 25, + 66881996, + 3, + 5, + 40, + 1698059452, + 0, + 10, + 38, + 1, + 39, + 9, + 0, + 1, + 44, + 2, + 2, + 36, + 2014887425, + 3, + 3, + 11, + 284345698, + 1, + 8, + 4, + 0, + 6, + 25, + 0, + 7, + 11, + 4, + 1, + 44, + 2100971032, + 4, + 29, + 9, + 1769157545, + 0, + 27, + 20, + 4, + 6, + 34, + 2122385023, + 1, + 15, + 32, + 0, + 12, + 17, + 4, + 14, + 20, + 20369381, + 3, + 0, + 47, + 1319733350, + 4, + 3, + 24, + 1930845149, + 0, + 6, + 37, + 3, + 38, + 5, + 1783446768, + 3, + 4, + 8, + 159903257, + 3, + 4, + 39, + 1260441231, + 0, + 14, + 34, + 4, + 26, + 10, + 1024034418, + 4, + 9, + 36, + 1586339041, + 4, + 11, + 12, + 1939669718, + 4, + 0, + 48, + 167287595, + 1, + 16, + 12, + 2, + 28, + 3, + 2078753668, + 2, + 19, + 11, + 147153848, + 3, + 1, + 38, + 575153965, + 0, + 26, + 11, + 3, + 4, + 17, + 2098132744, + 3, + 28, + 18, + 1712421873, + 3, + 12, + 31, + 1965812593, + 2, + 6, + 42, + 686146048, + 1, + 7, + 17, + 2, + 2, + 19, + 392167257, + 2, + 11, + 31, + 7662456, + 2, + 2, + 38, + 214295932, + 4, + 27, + 15, + 1997722093, + 3, + 8, + 34, + 1828454927, + 3, + 2, + 35, + 675842819, + 1, + 10, + 5, + 0, + 24, + 20, + 2, + 23, + 7, + 676091702, + 4, + 2, + 46, + 46497042, + 0, + 37, + 7, + 1, + 5, + 25, + 2, + 13, + 34, + 701083723, + 0, + 5, + 15, + 4, + 21, + 22, + 61395608, + 2, + 24, + 17, + 438664299, + 4, + 1, + 47, + 1931840438, + 1, + 18, + 18, + 3, + 13, + 28, + 1135617444, + 3, + 1, + 30, + 542445101, + 3, + 3, + 18, + 2103894984, + 4, + 1, + 47, + 1569564936, + 2, + 0, + 47, + 1731995659, + 3, + 22, + 14, + 1403999112, + 3, + 8, + 5, + 305610326, + 0, + 18, + 16, + 1, + 14, + 32, + 4, + 13, + 29, + 1630210061, + 3, + 2, + 34, + 1176621627, + 4, + 0, + 38, + 183199294, + 0, + 8, + 33, + 0, + 9, + 15, + 1, + 20, + 2, + 3, + 12, + 8, + 618343858, + 0, + 27, + 15, + 1, + 39, + 5, + 0, + 4, + 20, + 1, + 15, + 19, + 2, + 13, + 21, + 207113822, + 2, + 19, + 28, + 1750201038, + 2, + 30, + 18, + 1193826529, + 4, + 8, + 27, + 1015793651, + 0, + 1, + 16, + 1, + 0, + 36, + 0, + 0, + 30, + 3, + 0, + 31, + 540326898, + 1, + 10, + 26, + 2, + 12, + 33, + 389400853, + 3, + 1, + 23, + 928398804, + 4, + 22, + 24, + 708271890, + 1, + 14, + 33, + 4, + 14, + 32, + 183564411, + 4, + 11, + 27, + 1640249629, + 2, + 1, + 41, + 1653782144, + 2, + 2, + 43, + 605297424, + 3, + 29, + 13, + 58697050, + 2, + 14, + 18, + 1343496508, + 3, + 0, + 39, + 1997725735, + 3, + 29, + 13, + 1380775345, + 3, + 12, + 25, + 224478696, + 0, + 2, + 25, + 0, + 4, + 31, + 1, + 6, + 6, + 4, + 16, + 18, + 2125061826, + 1, + 17, + 16, + 3, + 11, + 34, + 705337248, + 0, + 4, + 37, + 1, + 0, + 40, + 4, + 29, + 17, + 641042010, + 4, + 6, + 41, + 1552208737, + 3, + 1, + 43, + 278431113, + 1, + 7, + 16, + 0, + 20, + 20, + 4, + 7, + 37, + 365288396, + 4, + 17, + 18, + 1591034204, + 0, + 10, + 18, + 4, + 30, + 12, + 527097054, + 4, + 26, + 11, + 1848236572, + 4, + 4, + 35, + 1006345279, + 2, + 21, + 3, + 1440560654, + 4, + 27, + 3, + 1454974682, + 0, + 31, + 2, + 1, + 5, + 32, + 1, + 41, + 7, + 2, + 0, + 26, + 806986269, + 3, + 17, + 19, + 1013727981, + 0, + 2, + 40, + 3, + 10, + 21, + 1205262, + 4, + 2, + 39, + 1065249345, + 4, + 9, + 36, + 1844382690, + 4, + 1, + 39, + 1881712638, + 2, + 32, + 6, + 417057178, + 4, + 7, + 11, + 108574435, + 3, + 7, + 12, + 1735188821, + 3, + 27, + 18, + 871891954, + 3, + 40, + 5, + 955134020, + 1, + 24, + 20, + 1, + 9, + 36, + 0, + 10, + 18, + 1, + 10, + 36, + 4, + 0, + 14, + 2032886644, + 0, + 22, + 14, + 0, + 0, + 42, + 3, + 26, + 2, + 1953654043, + 4, + 8, + 5, + 2128933094, + 2, + 24, + 9, + 1448082091, + 2, + 8, + 31, + 1804942775, + 0, + 31, + 16, + 2, + 1, + 35, + 145399699, + 0, + 11, + 2, + 0, + 2, + 21, + 0, + 2, + 26, + 2, + 4, + 42, + 474038516, + 0, + 7, + 33, + 0, + 17, + 21, + 0, + 13, + 25, + 0, + 27, + 20, + 0, + 13, + 3, + 1, + 24, + 17, + 3, + 26, + 15, + 2036689607, + 3, + 3, + 39, + 444445271, + 1, + 13, + 12, + 4, + 25, + 13, + 920554018, + 0, + 10, + 38, + 1, + 1, + 31, + 1, + 2, + 24, + 4, + 2, + 37, + 1618412489, + 2, + 24, + 17, + 1930065007, + 2, + 3, + 45, + 1453572835, + 1, + 21, + 15, + 3, + 4, + 28, + 985044289, + 1, + 0, + 28, + 0, + 6, + 9, + 3, + 10, + 36, + 423905300, + 3, + 0, + 43, + 16494660, + 0, + 9, + 39, + 1, + 37, + 3, + 3, + 4, + 33, + 1813574093, + 1, + 24, + 20, + 1, + 2, + 28, + 4, + 25, + 9, + 1072206635, + 3, + 0, + 48, + 1976505299, + 4, + 2, + 44, + 930920460, + 0, + 11, + 29, + 2, + 25, + 16, + 261288642, + 4, + 37, + 5, + 1654980249, + 4, + 19, + 22, + 1841089020, + 2, + 11, + 29, + 1187056845, + 0, + 5, + 8, + 1, + 4, + 34, + 1, + 29, + 11, + 2, + 20, + 16, + 1497565466, + 0, + 9, + 38, + 3, + 10, + 2, + 434894431, + 0, + 4, + 9, + 2, + 14, + 11, + 2019415311, + 2, + 6, + 4, + 1993942762, + 0, + 2, + 36, + 2, + 4, + 43, + 1680195538, + 0, + 21, + 8, + 2, + 38, + 4, + 911194324, + 2, + 2, + 30, + 981527962, + 0, + 27, + 2, + 4, + 14, + 4, + 1589825003, + 1, + 31, + 13, + 1, + 7, + 14, + 2, + 0, + 48, + 1327493112, + 3, + 3, + 45, + 890289034, + 3, + 33, + 11, + 898681594, + 1, + 8, + 38, + 3, + 5, + 11, + 127428649, + 2, + 0, + 45, + 903185825, + 3, + 8, + 29, + 69309956, + 1, + 9, + 15, + 4, + 0, + 48, + 1611136733, + 4, + 0, + 29, + 1878995291, + 3, + 2, + 46, + 386421856, + 0, + 12, + 29, + 0, + 0, + 33, + 4, + 12, + 10, + 1766334274, + 0, + 0, + 6, + 0, + 6, + 2, + 0, + 3, + 45, + 1, + 16, + 25, + 0, + 0, + 13, + 3, + 1, + 30, + 273976659, + 1, + 9, + 8, + 4, + 25, + 8, + 1266205944, + 0, + 3, + 45, + 1, + 0, + 48, + 4, + 16, + 8, + 1669905647, + 2, + 0, + 46, + 511105125, + 0, + 3, + 9, + 0, + 3, + 27, + 4, + 16, + 18, + 1659717250, + 1, + 0, + 16, + 4, + 23, + 8, + 223311632, + 2, + 13, + 6, + 735175161, + 3, + 1, + 13, + 613207690, + 3, + 3, + 44, + 498814509, + 1, + 22, + 11, + 4, + 12, + 29, + 852786892, + 4, + 0, + 45, + 574045971, + 4, + 20, + 14, + 502111884, + 3, + 15, + 21, + 1252427885, + 3, + 13, + 29, + 633989304, + 2, + 12, + 13, + 540296828, + 3, + 17, + 19, + 2101744919, + 1, + 6, + 2, + 4, + 17, + 30, + 1314508851, + 4, + 3, + 43, + 945266586, + 3, + 16, + 28, + 1227006744, + 4, + 44, + 3, + 1892852682, + 4, + 4, + 42, + 1994705439, + 1, + 25, + 11, + 1, + 25, + 14, + 2, + 31, + 5, + 401416321, + 3, + 8, + 33, + 1526685015, + 3, + 28, + 20, + 482654423, + 1, + 3, + 17, + 4, + 16, + 28, + 727573996, + 2, + 2, + 42, + 1316271332, + 2, + 5, + 10, + 1408499886, + 4, + 4, + 41, + 1461817074, + 0, + 0, + 48, + 1, + 2, + 45, + 3, + 11, + 17, + 315895153, + 2, + 1, + 40, + 114147388, + 3, + 0, + 42, + 1010929070, + 1, + 20, + 14, + 2, + 13, + 30, + 72127051, + 0, + 1, + 38, + 1, + 4, + 4, + 1, + 12, + 32, + 4, + 19, + 27, + 1487885166, + 4, + 14, + 30, + 1792741847, + 0, + 8, + 35, + 3, + 0, + 48, + 1992494040, + 2, + 8, + 12, + 1886762167, + 2, + 1, + 43, + 875952402, + 2, + 18, + 28, + 1854962431, + 4, + 30, + 9, + 1836929761, + 1, + 9, + 14, + 0, + 31, + 10, + 1, + 12, + 6, + 2, + 2, + 45, + 2126919946, + 4, + 18, + 10, + 1281809590, + 0, + 1, + 47, + 0, + 0, + 48, + 4, + 6, + 41, + 2131792087, + 1, + 1, + 41, + 1, + 0, + 38, + 2, + 7, + 17, + 1563008498, + 1, + 0, + 42, + 0, + 20, + 25, + 1, + 1, + 20, + 2, + 20, + 5, + 1554483301, + 4, + 14, + 31, + 1375715334, + 4, + 3, + 30, + 1903166406, + 0, + 3, + 33, + 0, + 2, + 39, + 2, + 8, + 28, + 508197110, + 1, + 1, + 33, + 4, + 23, + 14, + 1755955058, + 4, + 0, + 45, + 333429990, + 3, + 20, + 8, + 2128757184, + 0, + 18, + 20, + 0, + 2, + 34, + 4, + 6, + 42, + 719393732, + 2, + 5, + 35, + 1182685009, + 0, + 0, + 47, + 3, + 4, + 30, + 52142676, + 1, + 15, + 3, + 3, + 20, + 13, + 1688746842, + 1, + 5, + 39, + 3, + 3, + 44, + 461558417, + 3, + 2, + 36, + 1377362687, + 3, + 27, + 10, + 1871205112, + 1, + 10, + 37, + 3, + 7, + 31, + 921637729, + 2, + 1, + 35, + 1611924064, + 1, + 13, + 7, + 0, + 2, + 44, + 1, + 11, + 3, + 0, + 4, + 37, + 1, + 16, + 8, + 1, + 23, + 25, + 0, + 0, + 46, + 1, + 21, + 23, + 3, + 5, + 41, + 1175732211, + 4, + 30, + 10, + 1153710218, + 3, + 2, + 4, + 1115169017, + 2, + 6, + 40, + 1333181949, + 1, + 36, + 5, + 2, + 29, + 16, + 2067007911, + 1, + 1, + 44, + 1, + 1, + 45, + 0, + 2, + 40, + 1, + 11, + 32, + 1, + 33, + 2, + 0, + 4, + 11, + 1, + 12, + 30, + 4, + 39, + 9, + 888404201, + 1, + 0, + 11, + 1, + 6, + 12, + 4, + 21, + 20, + 1501502146, + 3, + 1, + 47, + 1198156893, + 1, + 23, + 7, + 3, + 5, + 38, + 999011151, + 1, + 3, + 45, + 3, + 10, + 4, + 561952096, + 3, + 5, + 8, + 90666864, + 2, + 7, + 23, + 1780155028, + 4, + 0, + 48, + 786153171, + 3, + 5, + 35, + 370179890, + 0, + 41, + 5, + 0, + 12, + 20, + 3, + 6, + 27, + 1390935266, + 4, + 2, + 24, + 2108028067, + 1, + 21, + 10, + 4, + 3, + 23, + 581845336, + 1, + 13, + 32, + 2, + 8, + 40, + 872587674, + 2, + 0, + 47, + 984877529, + 3, + 4, + 36, + 1325167600, + 0, + 14, + 16, + 1, + 17, + 25, + 2, + 0, + 42, + 2019832808, + 1, + 9, + 22, + 1, + 3, + 42, + 2, + 1, + 44, + 377524901, + 2, + 10, + 36, + 1420325813, + 0, + 38, + 9, + 2, + 4, + 41, + 1046473908, + 2, + 3, + 34, + 1816042886, + 2, + 13, + 15, + 1999438500, + 0, + 21, + 25, + 2, + 2, + 32, + 1851354245, + 3, + 20, + 25, + 1981808706, + 4, + 15, + 10, + 1291775942, + 0, + 11, + 6, + 0, + 34, + 2, + 2, + 12, + 20, + 2142825165, + 0, + 39, + 2, + 2, + 9, + 18, + 131883621, + 2, + 32, + 5, + 1669300843, + 3, + 1, + 47, + 2016969324, + 0, + 25, + 23, + 2, + 19, + 28, + 1983383904, + 4, + 5, + 37, + 1845057068, + 3, + 1, + 5, + 626812268, + 0, + 38, + 9, + 2, + 5, + 7, + 1669311530, + 3, + 6, + 21, + 800506390, + 1, + 8, + 2, + 3, + 1, + 3, + 929706447, + 4, + 0, + 40, + 1662492510, + 4, + 15, + 25, + 1275292179, + 3, + 0, + 48, + 267577682, + 4, + 34, + 5, + 1132694610, + 4, + 5, + 6, + 1580105963, + 0, + 22, + 25, + 0, + 2, + 15, + 1, + 10, + 29, + 3, + 0, + 48, + 1212210932, + 1, + 4, + 24, + 0, + 5, + 3, + 2, + 9, + 12, + 195440775, + 2, + 2, + 41, + 1349096261, + 1, + 1, + 46, + 4, + 26, + 2, + 541948676, + 4, + 9, + 30, + 499627030, + 4, + 4, + 4, + 232354789, + 3, + 4, + 29, + 1853963769, + 2, + 3, + 6, + 1794213398, + 0, + 4, + 11, + 3, + 37, + 11, + 302035668, + 1, + 4, + 8, + 0, + 10, + 21, + 1, + 14, + 16, + 0, + 15, + 15, + 0, + 5, + 39, + 0, + 4, + 28, + 2, + 16, + 10, + 511091537, + 1, + 22, + 2, + 0, + 0, + 48, + 3, + 7, + 35, + 1053201697, + 1, + 4, + 26, + 2, + 4, + 17, + 867735690, + 0, + 12, + 5, + 4, + 0, + 47, + 881397618, + 1, + 4, + 6, + 2, + 35, + 3, + 1307671837, + 3, + 15, + 27, + 364996038, + 1, + 6, + 25, + 2, + 5, + 37, + 1505308595, + 1, + 13, + 21, + 4, + 5, + 40, + 821857492, + 3, + 4, + 42, + 2135407527, + 0, + 2, + 35, + 2, + 23, + 4, + 1610416924, + 0, + 27, + 13, + 0, + 0, + 44, + 4, + 27, + 12, + 1920557514, + 3, + 10, + 8, + 713541849, + 2, + 2, + 28, + 948867639, + 2, + 1, + 38, + 774991266, + 3, + 1, + 11, + 1813642231, + 2, + 20, + 15, + 1055126318, + 0, + 1, + 41, + 1, + 2, + 46, + 3, + 1, + 7, + 1813228362, + 2, + 8, + 30, + 1148742400, + 4, + 23, + 19, + 80396449, + 4, + 0, + 48, + 1645155293, + 0, + 0, + 48, + 3, + 7, + 34, + 704199013, + 1, + 4, + 12, + 1, + 22, + 22, + 0, + 13, + 33, + 0, + 1, + 25, + 2, + 2, + 28, + 446539285, + 3, + 15, + 16, + 1545296493, + 3, + 4, + 22, + 573765314, + 3, + 1, + 24, + 667080018, + 0, + 34, + 11, + 4, + 9, + 20, + 759916382, + 0, + 4, + 41, + 1, + 0, + 37, + 4, + 7, + 12, + 2059397381, + 3, + 20, + 24, + 450810264, + 4, + 9, + 32, + 1958612779, + 1, + 0, + 40, + 1, + 5, + 42, + 2, + 3, + 45, + 954158941, + 2, + 7, + 21, + 1230363900, + 1, + 0, + 30, + 1, + 20, + 15, + 1, + 4, + 25, + 0, + 8, + 15, + 3, + 13, + 21, + 746153631, + 2, + 14, + 30, + 1174915715, + 2, + 8, + 28, + 2003200968, + 1, + 10, + 25, + 1, + 19, + 28, + 3, + 16, + 16, + 990725619, + 1, + 1, + 44, + 2, + 12, + 14, + 986044847, + 2, + 3, + 33, + 2052982269, + 4, + 10, + 29, + 655604705, + 2, + 31, + 3, + 1050531073, + 0, + 29, + 9, + 1, + 17, + 13, + 3, + 2, + 42, + 1381525588, + 2, + 4, + 44, + 679908755, + 4, + 2, + 16, + 1913872575, + 3, + 23, + 20, + 475087472, + 1, + 1, + 36, + 3, + 20, + 9, + 25558106, + 0, + 36, + 3, + 3, + 19, + 2, + 819711428, + 2, + 9, + 5, + 824840182, + 1, + 2, + 32, + 2, + 12, + 36, + 102134323, + 1, + 12, + 34, + 1, + 15, + 26, + 2, + 2, + 36, + 893317300, + 2, + 23, + 16, + 1512360143, + 1, + 36, + 4, + 3, + 4, + 32, + 1069581395, + 0, + 10, + 29, + 0, + 0, + 25, + 2, + 21, + 13, + 503210770, + 0, + 4, + 38, + 4, + 19, + 29, + 602028362, + 1, + 8, + 32, + 2, + 25, + 3, + 2006598689, + 3, + 2, + 45, + 472403037, + 3, + 4, + 37, + 523261943, + 2, + 40, + 7, + 1087299891, + 2, + 23, + 3, + 1553082836, + 0, + 18, + 8, + 4, + 1, + 45, + 1376935523, + 3, + 7, + 15, + 1486517127, + 1, + 3, + 34, + 4, + 23, + 13, + 1030417612, + 2, + 2, + 45, + 1109688662, + 0, + 15, + 27, + 4, + 26, + 11, + 1602045954, + 0, + 1, + 43, + 3, + 12, + 10, + 1644593812, + 2, + 6, + 27, + 406236175, + 1, + 0, + 42, + 1, + 2, + 46, + 1, + 5, + 11, + 2, + 16, + 30, + 177000552, + 3, + 0, + 31, + 1716969517, + 2, + 6, + 42, + 1024596786, + 0, + 20, + 28, + 0, + 7, + 19, + 2, + 6, + 32, + 1800637294, + 0, + 2, + 27, + 0, + 1, + 46, + 3, + 0, + 14, + 578464610, + 3, + 4, + 27, + 799656554, + 1, + 2, + 30, + 1, + 3, + 28, + 1, + 27, + 19, + 3, + 4, + 40, + 8465602, + 0, + 0, + 46, + 2, + 17, + 19, + 1609810595, + 0, + 4, + 36, + 1, + 34, + 10, + 4, + 13, + 15, + 1301100950, + 2, + 13, + 19, + 1439037760, + 3, + 5, + 33, + 1056587716, + 3, + 0, + 18, + 2047923135, + 0, + 4, + 31, + 3, + 3, + 43, + 257022608, + 1, + 12, + 27, + 0, + 3, + 44, + 2, + 10, + 38, + 1340039331, + 4, + 2, + 14, + 1095729333, + 4, + 10, + 33, + 773600882, + 4, + 3, + 18, + 1965675694, + 3, + 28, + 3, + 619064249, + 0, + 17, + 18, + 2, + 13, + 35, + 1441604107, + 0, + 27, + 6, + 0, + 12, + 7, + 3, + 9, + 34, + 1356937154, + 1, + 17, + 29, + 4, + 0, + 31, + 1860510518, + 0, + 40, + 4, + 4, + 0, + 32, + 1208716891, + 4, + 29, + 11, + 741073392, + 2, + 19, + 18, + 488589134, + 1, + 3, + 8, + 3, + 0, + 48, + 1744098841, + 2, + 41, + 7, + 1248380369, + 1, + 8, + 28, + 3, + 10, + 36, + 2088324900, + 1, + 2, + 44, + 2, + 7, + 40, + 1222024033, + 2, + 2, + 42, + 1965697702, + 0, + 3, + 37, + 1, + 3, + 8, + 3, + 16, + 30, + 1188532249, + 2, + 3, + 45, + 454316252, + 3, + 3, + 40, + 11338195, + 3, + 5, + 24, + 274182737, + 3, + 7, + 35, + 1301320614, + 2, + 30, + 2, + 1368429061, + 0, + 8, + 11, + 1, + 9, + 30, + 1, + 2, + 13, + 0, + 9, + 10, + 1, + 11, + 2, + 3, + 19, + 11, + 1334694206, + 1, + 19, + 25, + 0, + 17, + 13, + 0, + 5, + 43, + 0, + 11, + 14, + 3, + 1, + 41, + 1569529262, + 4, + 12, + 22, + 644041156, + 2, + 6, + 17, + 952430087, + 3, + 6, + 34, + 1324978748, + 2, + 38, + 3, + 1067926878, + 3, + 15, + 9, + 1922711386, + 4, + 3, + 42, + 1386910774, + 0, + 8, + 29, + 2, + 5, + 42, + 1198513659, + 4, + 14, + 26, + 2129286061, + 4, + 10, + 6, + 1411412631, + 4, + 0, + 38, + 2125802306, + 3, + 4, + 17, + 233448220, + 1, + 3, + 43, + 3, + 14, + 9, + 278737535, + 2, + 9, + 7, + 2010032612, + 0, + 32, + 14, + 3, + 9, + 30, + 827714578, + 3, + 1, + 47, + 1820463527, + 1, + 8, + 40, + 1, + 24, + 16, + 2, + 1, + 47, + 1249459739, + 4, + 20, + 24, + 798943558, + 4, + 18, + 11, + 694848980, + 0, + 9, + 24, + 1, + 25, + 5, + 1, + 18, + 16, + 2, + 31, + 5, + 783211257, + 4, + 12, + 6, + 1529605657, + 4, + 12, + 28, + 886514591, + 2, + 7, + 31, + 1842936305, + 3, + 0, + 40, + 1613804170, + 2, + 27, + 17, + 1051819433, + 0, + 16, + 23, + 0, + 6, + 37, + 0, + 20, + 16, + 2, + 30, + 18, + 1933013570, + 4, + 7, + 32, + 791637056, + 4, + 1, + 39, + 930564023, + 4, + 10, + 36, + 978921894, + 4, + 3, + 37, + 703772384, + 0, + 28, + 2, + 1, + 1, + 36, + 1, + 0, + 46, + 3, + 16, + 21, + 562701384, + 3, + 27, + 9, + 962592731, + 2, + 0, + 40, + 47685325, + 0, + 3, + 25, + 3, + 4, + 37, + 871719479, + 4, + 29, + 2, + 457463279, + 3, + 8, + 37, + 104294227, + 3, + 13, + 34, + 317213750, + 1, + 7, + 17, + 0, + 26, + 20, + 4, + 5, + 22, + 524538944, + 1, + 17, + 17, + 3, + 18, + 19, + 1736273371, + 3, + 26, + 22, + 1087907296, + 1, + 13, + 15, + 2, + 0, + 48, + 407235971, + 1, + 11, + 32, + 0, + 4, + 7, + 3, + 20, + 16, + 462620356, + 4, + 20, + 20, + 197125373, + 4, + 23, + 25, + 702510684, + 3, + 13, + 33, + 432185912, + 0, + 5, + 35, + 4, + 0, + 32, + 47475194, + 1, + 12, + 30, + 3, + 26, + 5, + 244987092, + 3, + 14, + 18, + 903807294, + 2, + 22, + 3, + 2076020452, + 1, + 3, + 37, + 4, + 7, + 14, + 1029591998, + 1, + 30, + 11, + 1, + 3, + 36, + 4, + 14, + 24, + 1171519903, + 0, + 7, + 7, + 3, + 10, + 24, + 622227736, + 3, + 19, + 14, + 647714527, + 4, + 1, + 45, + 1295090231, + 4, + 21, + 14, + 325044601, + 4, + 7, + 41, + 1059595139, + 3, + 24, + 22, + 2110353038, + 1, + 0, + 19, + 4, + 1, + 47, + 1456492989, + 1, + 25, + 20, + 3, + 11, + 29, + 861257451, + 0, + 19, + 4, + 2, + 12, + 31, + 1957306790, + 0, + 10, + 6, + 4, + 11, + 22, + 480529245, + 2, + 11, + 26, + 141938745, + 1, + 0, + 48, + 3, + 13, + 30, + 1949063912, + 2, + 13, + 4, + 726289589, + 3, + 1, + 44, + 342903383, + 4, + 9, + 39, + 546576625, + 3, + 10, + 29, + 1073687164, + 1, + 2, + 45, + 0, + 26, + 11, + 3, + 23, + 25, + 568864844, + 4, + 13, + 5, + 944907136, + 2, + 0, + 46, + 926845782, + 1, + 14, + 15, + 4, + 6, + 11, + 759358307, + 4, + 9, + 34, + 894429828, + 4, + 0, + 47, + 1209789815, + 4, + 28, + 17, + 109205418, + 3, + 3, + 37, + 1211736810, + 0, + 0, + 47, + 4, + 4, + 44, + 991173485, + 3, + 16, + 23, + 1347771646, + 3, + 15, + 23, + 1004141960, + 3, + 2, + 14, + 554064982, + 3, + 36, + 6, + 2087380288, + 1, + 4, + 44, + 1, + 12, + 36, + 4, + 13, + 17, + 1905153083, + 3, + 2, + 44, + 1865893633, + 2, + 1, + 43, + 580673894, + 1, + 1, + 46, + 1, + 6, + 42, + 0, + 0, + 31, + 3, + 0, + 48, + 1831278356, + 4, + 8, + 30, + 1372182050, + 1, + 9, + 36, + 3, + 21, + 10, + 1684375037, + 0, + 11, + 26, + 2, + 18, + 10, + 1578325983, + 2, + 10, + 4, + 1971726415, + 0, + 4, + 34, + 2, + 21, + 15, + 1358347096, + 4, + 6, + 24, + 605324679, + 4, + 4, + 30, + 1821272750, + 1, + 3, + 5, + 0, + 1, + 46, + 0, + 15, + 31, + 2, + 13, + 22, + 1256670107, + 4, + 20, + 17, + 1969920411, + 3, + 37, + 5, + 957768808, + 3, + 3, + 45, + 2061345426, + 1, + 8, + 38, + 4, + 35, + 7, + 481506497, + 1, + 6, + 14, + 1, + 10, + 13, + 0, + 13, + 23, + 3, + 7, + 23, + 618212915, + 1, + 22, + 24, + 4, + 8, + 37, + 647394328, + 0, + 0, + 38, + 2, + 10, + 22, + 412591822, + 0, + 6, + 35, + 1, + 15, + 32, + 0, + 1, + 17, + 1, + 2, + 46, + 4, + 2, + 44, + 1401833566, + 0, + 33, + 9, + 1, + 13, + 12, + 3, + 12, + 8, + 1037744394, + 3, + 21, + 25, + 330462569, + 0, + 2, + 13, + 0, + 3, + 44, + 2, + 3, + 22, + 487683507, + 3, + 1, + 32, + 1962013417, + 0, + 4, + 41, + 0, + 0, + 45, + 2, + 4, + 31, + 1625808507, + 1, + 12, + 18, + 2, + 2, + 6, + 1038823340, + 3, + 2, + 44, + 2072643873, + 3, + 3, + 45, + 1201398998, + 3, + 2, + 30, + 1771877572, + 3, + 1, + 31, + 1775192514, + 2, + 30, + 11, + 1188725997, + 3, + 3, + 45, + 1867872077, + 1, + 6, + 39, + 1, + 19, + 21, + 3, + 5, + 42, + 755364485, + 1, + 12, + 36, + 4, + 19, + 3, + 208145786, + 0, + 10, + 38, + 4, + 24, + 21, + 385641463, + 4, + 27, + 14, + 253228184, + 0, + 1, + 47, + 1, + 39, + 8, + 4, + 3, + 45, + 1326645028, + 0, + 9, + 30, + 4, + 10, + 13, + 1674764717, + 2, + 2, + 40, + 1592930242, + 4, + 25, + 5, + 2097216870, + 2, + 19, + 12, + 153991794, + 2, + 2, + 44, + 208327279, + 1, + 15, + 26, + 3, + 0, + 48, + 1593902721, + 1, + 2, + 44, + 3, + 21, + 4, + 40354999, + 1, + 3, + 35, + 2, + 17, + 31, + 418562784, + 0, + 1, + 26, + 2, + 2, + 46, + 309516193, + 4, + 24, + 3, + 1355471473, + 1, + 6, + 27, + 0, + 14, + 25, + 0, + 0, + 47, + 1, + 0, + 42, + 1, + 3, + 36, + 2, + 27, + 9, + 1623903298, + 3, + 0, + 39, + 1714612956, + 3, + 13, + 2, + 2071292896, + 3, + 7, + 41, + 394448964, + 0, + 29, + 11, + 0, + 8, + 6, + 4, + 7, + 41, + 2063059777, + 1, + 0, + 22, + 0, + 0, + 39, + 3, + 0, + 44, + 1511900477, + 0, + 5, + 16, + 3, + 8, + 32, + 501870653, + 3, + 13, + 12, + 1213465996, + 1, + 0, + 40, + 3, + 19, + 28, + 1876536633, + 1, + 2, + 33, + 1, + 14, + 4, + 1, + 9, + 15, + 0, + 3, + 41, + 2, + 1, + 47, + 1698681401, + 1, + 11, + 32, + 0, + 14, + 32, + 1, + 0, + 48, + 1, + 1, + 43, + 3, + 25, + 13, + 668897647, + 2, + 16, + 25, + 1396960995, + 4, + 0, + 41, + 1876563121, + 1, + 16, + 6, + 3, + 8, + 33, + 1959119445, + 0, + 3, + 23, + 0, + 15, + 20, + 4, + 0, + 45, + 1290977324, + 4, + 10, + 9, + 1146658267, + 0, + 11, + 19, + 4, + 22, + 26, + 29764774, + 0, + 40, + 5, + 2, + 3, + 2, + 368066041, + 3, + 21, + 11, + 227809547, + 3, + 2, + 43, + 756496729, + 0, + 28, + 7, + 3, + 2, + 32, + 1041064186, + 4, + 5, + 15, + 1768353861, + 2, + 4, + 11, + 2064515808, + 4, + 2, + 2, + 233772825, + 2, + 40, + 2, + 22546803, + 4, + 9, + 38, + 1421710578, + 3, + 11, + 34, + 727223235, + 3, + 22, + 26, + 178163660, + 1, + 3, + 7, + 4, + 3, + 45, + 1151720934, + 4, + 10, + 36, + 634484399, + 4, + 0, + 48, + 1115487844, + 3, + 1, + 43, + 2037167672, + 0, + 3, + 45, + 2, + 8, + 26, + 427529830, + 3, + 3, + 37, + 1174984193, + 2, + 5, + 40, + 169438164, + 1, + 3, + 30, + 0, + 1, + 44, + 4, + 28, + 13, + 1845987943, + 3, + 9, + 24, + 98441165, + 2, + 19, + 9, + 1436907371, + 2, + 31, + 9, + 1603553923, + 3, + 5, + 16, + 1485998706, + 3, + 10, + 35, + 655100903, + 0, + 6, + 39, + 3, + 8, + 29, + 2129907581, + 2, + 18, + 11, + 852231367, + 4, + 0, + 48, + 175166580, + 4, + 34, + 8, + 1211208683, + 1, + 2, + 23, + 1, + 18, + 23, + 1, + 11, + 31, + 3, + 19, + 20, + 1085310723, + 0, + 3, + 42, + 0, + 13, + 30, + 4, + 3, + 38, + 1319875028, + 1, + 5, + 16, + 4, + 23, + 19, + 1814283378, + 4, + 0, + 48, + 1472305172, + 2, + 5, + 28, + 1932529021, + 2, + 10, + 22, + 735053752, + 3, + 10, + 20, + 1540011621, + 4, + 9, + 24, + 1729713573, + 4, + 27, + 13, + 808631504, + 0, + 11, + 37, + 4, + 35, + 4, + 31524555, + 3, + 7, + 17, + 1088116484, + 1, + 32, + 13, + 2, + 12, + 36, + 2130122533, + 1, + 3, + 42, + 4, + 1, + 10, + 1266379278, + 1, + 29, + 18, + 3, + 0, + 35, + 754916215, + 4, + 10, + 3, + 1263963210, + 4, + 8, + 21, + 531277433, + 1, + 6, + 24, + 0, + 17, + 26, + 4, + 4, + 23, + 1114133070, + 1, + 39, + 6, + 1, + 37, + 4, + 0, + 11, + 31, + 4, + 36, + 7, + 414163549, + 1, + 18, + 6, + 3, + 22, + 19, + 568990644, + 2, + 8, + 35, + 1721418433, + 2, + 1, + 30, + 1498189827, + 1, + 27, + 15, + 3, + 5, + 18, + 489241532, + 4, + 3, + 42, + 1741656039, + 4, + 14, + 4, + 853284779, + 3, + 1, + 46, + 253843668, + 0, + 21, + 22, + 0, + 10, + 33, + 4, + 5, + 19, + 1316039911, + 3, + 31, + 3, + 1413920280, + 0, + 14, + 34, + 3, + 15, + 5, + 668007217, + 4, + 14, + 21, + 494757162, + 4, + 34, + 4, + 909925184, + 0, + 0, + 30, + 1, + 15, + 8, + 3, + 10, + 27, + 1418593178, + 2, + 1, + 44, + 1231245011, + 3, + 10, + 37, + 744110064, + 4, + 17, + 3, + 332073031, + 0, + 7, + 39, + 1, + 7, + 39, + 1, + 32, + 10, + 1, + 7, + 41, + 3, + 5, + 27, + 166914318, + 0, + 9, + 28, + 1, + 26, + 12, + }; + +const int decodeTableLen=sizeof(decodeTable)/sizeof(int); + +} diff --git a/Classes/linphoneAppDelegate.h b/Classes/linphoneAppDelegate.h index cf18657e5..8eead0e04 100644 --- a/Classes/linphoneAppDelegate.h +++ b/Classes/linphoneAppDelegate.h @@ -20,12 +20,26 @@ #import #import -#include"linphonecore.h" +#import +#import "linphonecore.h" -@protocol LinphoneTabManagerDelegate +@protocol LinphoneManagerDelegate -(void)selectDialerTab; +-(void)launchMainUi; +/* + * return true if register is activated + */ +-(bool)initProxySettings; +/* return new tunnel state*/ +-(bool) toggleTunnel; +-(bool) isTunnel; +-(void) resetConfig; + + +-(LinphoneCore*) getLinphoneCore; + @end @@ -34,8 +48,9 @@ @class PhoneViewController; @class CallHistoryTableViewController; @class FavoriteTableViewController; +@class FirstLoginViewController; -@interface linphoneAppDelegate : NSObject { +@interface linphoneAppDelegate : NSObject { UIWindow *window; IBOutlet UITabBarController* myTabBarController; IBOutlet ABPeoplePickerNavigationController* myPeoplePickerController; @@ -44,9 +59,14 @@ FavoriteTableViewController* myFavoriteTableViewController; ContactPickerDelegate* myContactPickerDelegate; + FirstLoginViewController* myFirstLoginViewController; - int traceLevel; + bool isTunnelConfigured; + bool isTunnel; + bool isDebug; LinphoneCore* myLinphoneCore; + SCNetworkReachabilityContext proxyReachabilityContext; + SCNetworkReachabilityRef proxyReachability; } @@ -54,6 +74,10 @@ * liblinphone initialization method **********************************/ -(void) startlibLinphone; +/** + * return true if register is activated + */ +bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void * info); /* * liblinphone scheduling method; @@ -62,6 +86,10 @@ -(void) newIncomingCall:(NSString*) from; +-(void) enableTunnel; +-(void) disableTunnel; +-(void) doRegister; +-(void) doUnRegister; -(PayloadType*) findPayload:(NSString*)type withRate:(int)rate from:(const MSList*)list; @@ -70,7 +98,7 @@ @property (nonatomic, retain) IBOutlet UITabBarController* myTabBarController; @property (nonatomic, retain) ABPeoplePickerNavigationController* myPeoplePickerController; @property (nonatomic, retain) IBOutlet PhoneViewController* myPhoneViewController; - +@property (nonatomic, readonly) FirstLoginViewController* myFirstLoginViewController; @end diff --git a/Classes/linphoneAppDelegate.m b/Classes/linphoneAppDelegate.m index 181d6d4d0..35a131495 100644 --- a/Classes/linphoneAppDelegate.m +++ b/Classes/linphoneAppDelegate.m @@ -26,17 +26,33 @@ #import #import "osip2/osip.h" #import "FavoriteTableViewController.h" +#import "MoreViewController.h" +#import "ConsoleViewController.h" +#import "FirstLoginViewController.h" + + extern void ms_au_register_card(); +extern void linphone_iphone_tunneling_init(const char* ip,unsigned int port,bool isDebug); +extern void linphone_iphone_enable_tunneling(LinphoneCore* lc); +extern void linphone_iphone_disable_tunneling(LinphoneCore* lc); +extern int linphone_iphone_tunneling_isready(); + + //generic log handler for debug version -void linphone_iphone_log_handler(OrtpLogLevel lev, const char *fmt, va_list args){ +void linphone_iphone_log_handler(int lev, const char *fmt, va_list args){ NSString* format = [[NSString alloc] initWithCString:fmt encoding:[NSString defaultCStringEncoding]]; NSLogv(format,args); + NSString* formatedString = [[NSString alloc] initWithFormat:format arguments:args]; + [ConsoleViewController addLog:formatedString]; [format release]; + [formatedString release]; } //Error/warning log handler void linphone_iphone_log(struct _LinphoneCore * lc, const char * message) { - NSLog([NSString stringWithCString:message length:strlen(message)]); + NSString* log = [NSString stringWithCString:message length:strlen(message)]; + NSLog(log); + [ConsoleViewController addLog:log]; } //status void linphone_iphone_display_status(struct _LinphoneCore * lc, const char * message) { @@ -48,22 +64,47 @@ void linphone_iphone_show(struct _LinphoneCore * lc) { //nop } void linphone_iphone_call_received(LinphoneCore *lc, const char *from){ - [((linphoneAppDelegate*) linphone_core_get_user_data(lc)) newIncomingCall:[[NSString alloc] initWithCString:from encoding:[NSString defaultCStringEncoding]]]; + LinphoneAddress* fromAddr = linphone_address_new(from); + [((linphoneAppDelegate*) linphone_core_get_user_data(lc)) newIncomingCall:[[NSString alloc] initWithCString:linphone_address_get_username(fromAddr) encoding:[NSString defaultCStringEncoding]]]; }; void linphone_iphone_general_state(LinphoneCore *lc, LinphoneGeneralState *gstate) { + //handle first register case + FirstLoginViewController* loginView = ((linphoneAppDelegate*) linphone_core_get_user_data(lc)).myFirstLoginViewController; + if (loginView) { + [loginView callStateChange:gstate]; + } PhoneViewController* lPhone = ((linphoneAppDelegate*) linphone_core_get_user_data(lc)).myPhoneViewController; [lPhone callStateChange:gstate]; } +void linphone_iphone_calllog_updated(LinphoneCore *lc, LinphoneCallLog *newcl) { + PhoneViewController* lPhone = ((linphoneAppDelegate*) linphone_core_get_user_data(lc)).myPhoneViewController; + [lPhone callLogUpdated:newcl]; -LinphoneCoreVTable linphonec_vtable = { +} + +void linphone_iphone_auth_info_requested(LinphoneCore *lc, const char *realm, const char *username) { + UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) + message:NSLocalizedString(@"Wrong user name or password",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + [alert show]; + FirstLoginViewController* loginView = ((linphoneAppDelegate*) linphone_core_get_user_data(lc)).myFirstLoginViewController; + if (loginView) { + [loginView authInfoRequested]; + } +}; + + +LinphoneCoreVTable linphone_iphone_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, +.auth_info_requested = linphone_iphone_auth_info_requested, .display_status = linphone_iphone_display_status, .display_message=linphone_iphone_log, .display_warning=linphone_iphone_log, @@ -83,20 +124,43 @@ LinphoneCoreVTable linphonec_vtable = { @synthesize myTabBarController; @synthesize myPeoplePickerController; @synthesize myPhoneViewController; +@synthesize myFirstLoginViewController; - (void)applicationDidFinishLaunching:(UIApplication *)application { + //1 start main UI + [self launchMainUi]; + + //2 add first login view if required + bool isFirstLoginDone = [[NSUserDefaults standardUserDefaults] boolForKey:@"firstlogindone_preference"]; + + if (!isFirstLoginDone) { + + myFirstLoginViewController = [[FirstLoginViewController alloc] + initWithNibName:@"FirstLoginViewController" + bundle:nil]; + [window addSubview:myFirstLoginViewController.view]; + [myFirstLoginViewController setMainDelegate:self]; + } + + [window makeKeyAndVisible]; + + +} +-(void) launchMainUi { + isDebug = [[NSUserDefaults standardUserDefaults] boolForKey:@"debugenable_preference"]; //as defined in PhoneMainView.xib -#define DIALER_TAB_INDEX 2 -#define CONTACTS_TAB_INDEX 3 -#define HISTORY_TAB_INDEX 1 -#define FAVORITE_TAB_INDEX 0 -#define MORE_TAB_INDEX 4 - + #define DIALER_TAB_INDEX 2 + #define CONTACTS_TAB_INDEX 3 + #define HISTORY_TAB_INDEX 1 + #define FAVORITE_TAB_INDEX 0 + #define MORE_TAB_INDEX 4 + myPhoneViewController = (PhoneViewController*) [myTabBarController.viewControllers objectAtIndex: DIALER_TAB_INDEX]; + [myPhoneViewController setLinphoneDelegate:self]; myCallHistoryTableViewController = (CallHistoryTableViewController*)[myTabBarController.viewControllers objectAtIndex: HISTORY_TAB_INDEX]; [myCallHistoryTableViewController setPhoneControllerDelegate:myPhoneViewController]; @@ -105,7 +169,7 @@ LinphoneCoreVTable linphonec_vtable = { myFavoriteTableViewController = (FavoriteTableViewController*)[myTabBarController.viewControllers objectAtIndex: FAVORITE_TAB_INDEX]; [myFavoriteTableViewController setPhoneControllerDelegate:myPhoneViewController]; [myFavoriteTableViewController setLinphoneDelegate:self]; - + //people picker delegates myContactPickerDelegate = [[ContactPickerDelegate alloc] init]; myContactPickerDelegate.phoneControllerDelegate=myPhoneViewController; @@ -116,31 +180,49 @@ LinphoneCoreVTable linphonec_vtable = { [myPeoplePickerController setPeoplePickerDelegate:myContactPickerDelegate]; //copy tab bar item myPeoplePickerController.tabBarItem = [(UIViewController*)[myTabBarController.viewControllers objectAtIndex:CONTACTS_TAB_INDEX] tabBarItem]; - //insert contact controller + + //more tab + MoreViewController *moreViewController = [[MoreViewController alloc] initWithNibName:@"MoreViewController" bundle:[NSBundle mainBundle]]; + if (isDebug) { + [moreViewController enableLogView]; + } + [moreViewController setLinphoneDelegate:self]; + UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:moreViewController]; + [aNavigationController.navigationBar setTintColor:[UIColor lightGrayColor]]; + //copy tab bar item + aNavigationController.tabBarItem = [(UIViewController*)[myTabBarController.viewControllers objectAtIndex:MORE_TAB_INDEX] tabBarItem]; + + //insert contact controller and more tab controller NSMutableArray* newArray = [NSMutableArray arrayWithArray:self.myTabBarController.viewControllers]; [newArray replaceObjectAtIndex:CONTACTS_TAB_INDEX withObject:myPeoplePickerController]; + [newArray replaceObjectAtIndex:MORE_TAB_INDEX withObject:aNavigationController]; + [myTabBarController setSelectedIndex:DIALER_TAB_INDEX]; [myTabBarController setViewControllers:newArray animated:NO]; [window addSubview:myTabBarController.view]; - [window makeKeyAndVisible]; + //if (window.keyWindow == NO) [window makeKeyAndVisible]; [self startlibLinphone]; [myCallHistoryTableViewController setLinphoneCore: myLinphoneCore]; [myFavoriteTableViewController setLinphoneCore: myLinphoneCore]; [myPhoneViewController setLinphoneCore: myLinphoneCore]; - - + [myPhoneViewController setTunnelState:isTunnel]; } + -(void)selectDialerTab { [myTabBarController setSelectedIndex:DIALER_TAB_INDEX]; } - (void)applicationWillTerminate:(UIApplication *)application { - linphone_core_destroy(myLinphoneCore); + if (myLinphoneCore) { + linphone_core_clear_proxy_config(myLinphoneCore); + linphone_core_destroy(myLinphoneCore); + } + } - (void)dealloc { @@ -153,21 +235,19 @@ LinphoneCoreVTable linphonec_vtable = { *lib linphone init method */ -(void)startlibLinphone { - + isTunnel=false; //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 + NSString* factoryConfigFile = [myBundle pathForResource:@"linphonerc"ofType:nil] ; + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *confiFileName = [[paths objectAtIndex:0] stringByAppendingString:@"/.linphonerc"]; + //log management - traceLevel = 9; - if (traceLevel > 0) { + if (isDebug) { //redirect all traces to the iphone log framework linphone_core_enable_logs_with_cb(linphone_iphone_log_handler); } @@ -182,7 +262,38 @@ LinphoneCoreVTable linphonec_vtable = { * Initialize linphone core */ - myLinphoneCore = linphone_core_new (&linphonec_vtable, [defaultConfigFile cStringUsingEncoding:[NSString defaultCStringEncoding]],nil,self); + myLinphoneCore = linphone_core_new (&linphone_iphone_vtable, + [confiFileName cStringUsingEncoding:[NSString defaultCStringEncoding]], + [factoryConfigFile cStringUsingEncoding:[NSString defaultCStringEncoding]], + self); + + //tunneling config + isTunnelConfigured = [[NSUserDefaults standardUserDefaults] boolForKey:@"tunnelenable_preference"]; + NSString* username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username_preference"]; + NSString* axtelPin = [[NSUserDefaults standardUserDefaults] stringForKey:@"axtelpin_preference"]; + + if (isTunnelConfigured) { + const char* tunnelIp=axtunnel_get_ip_from_key([username cStringUsingEncoding:[NSString defaultCStringEncoding]] + ,[axtelPin cStringUsingEncoding:[NSString defaultCStringEncoding]] ); + if(!tunnelIp) { + UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) + message:NSLocalizedString(@"Wrong axtel number or pin, disabling tunnel",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + [alert show]; + isTunnelConfigured=false; + isTunnel=false; + + } else { + linphone_iphone_tunneling_init(tunnelIp,443,isDebug); + isTunnel=true; + } + } + + if (isTunnel) { + linphone_iphone_enable_tunneling(myLinphoneCore); + } // Set audio assets const char* lRing = [[myBundle pathForResource:@"oldphone-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; @@ -190,64 +301,11 @@ LinphoneCoreVTable linphonec_vtable = { const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; linphone_core_set_ringback(myLinphoneCore, 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(myLinphoneCore); - //get default proxy - linphone_core_get_default_proxy(myLinphoneCore,&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(myLinphoneCore,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(myLinphoneCore,proxyCfg); - //set to default proxy - linphone_core_set_default_proxy(myLinphoneCore,proxyCfg); - } else { - linphone_proxy_config_done(proxyCfg); - } - + //init proxy config if not first login + bool isFirstLoginDone = [[NSUserDefaults standardUserDefaults] boolForKey:@"firstlogindone_preference"]; + if (isFirstLoginDone) { + [self initProxySettings]; } - //Configure Codecs PayloadType *pt; @@ -305,6 +363,78 @@ LinphoneCoreVTable linphonec_vtable = { repeats:YES]; } +-(bool)initProxySettings { + //configure sip account + //get data from Settings bundle + NSString* accountNameUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"account_preference"]; + NSString* username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username_preference"]; + NSString* domain = [[NSUserDefaults standardUserDefaults] stringForKey:@"domain_preference"]; + if (!accountNameUri) { + accountNameUri = [NSString stringWithFormat:@"sip:%@@%@",username,domain]; + } + const char* identity = [accountNameUri cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + + NSString* accountPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"password_preference"]; + const char* password = [accountPassword cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + NSString* proxyAddress = [[NSUserDefaults standardUserDefaults] stringForKey:@"proxy_preference"]; + if ((!proxyAddress | [proxyAddress length] <1 ) && domain) { + proxyAddress = [NSString stringWithFormat:@"sip:%@",domain] ; + } else { + proxyAddress = [NSString stringWithFormat:@"sip:%@",proxyAddress] ; + } + const char* proxy = [proxyAddress cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + NSString* routeUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"route_preference"]; + const char* route = [routeUri cStringUsingEncoding:[NSString defaultCStringEncoding]]; + + NSString* prefix = [[NSUserDefaults standardUserDefaults] stringForKey:@"prefix_preference"]; + + if (([accountNameUri length] + [proxyAddress length]) >8 ) { + //possible valid config detected + LinphoneProxyConfig* proxyCfg; + //clear auth info list + linphone_core_clear_all_auth_info(myLinphoneCore); + //clear existing proxy config + linphone_core_clear_proxy_config(myLinphoneCore); + proxyCfg = linphone_proxy_config_new(); + + // 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(myLinphoneCore,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); + } + LinphoneAddress* addr=linphone_address_new(linphone_proxy_config_get_addr(proxyCfg)); + proxyReachability=SCNetworkReachabilityCreateWithName(nil, linphone_address_get_domain(addr)); + proxyReachabilityContext.info=myLinphoneCore; + bool result=SCNetworkReachabilitySetCallback(proxyReachability, networkReachabilityCallBack,&proxyReachabilityContext); + SCNetworkReachabilityFlags reachabilityFlags; + result=SCNetworkReachabilityGetFlags (proxyReachability,&reachabilityFlags); + SCNetworkReachabilityScheduleWithRunLoop(proxyReachability, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); + + if ([prefix length]>0) { + linphone_proxy_config_set_dial_prefix(proxyCfg, [prefix cStringUsingEncoding:[NSString defaultCStringEncoding]]); + } + linphone_proxy_config_set_dial_escape_plus(proxyCfg,TRUE); + + linphone_core_add_proxy_config(myLinphoneCore,proxyCfg); + //set to default proxy + linphone_core_set_default_proxy(myLinphoneCore,proxyCfg); + networkReachabilityCallBack(proxyReachability,reachabilityFlags,myLinphoneCore); + } +} -(void) newIncomingCall:(NSString*) from { //redirect audio to speaker @@ -314,8 +444,9 @@ LinphoneCoreVTable linphonec_vtable = { , sizeof (audioRouteOverride) , &audioRouteOverride); - UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:[NSString stringWithFormat:@" %@ is calling you",from] - delegate:self cancelButtonTitle:@"Decline" destructiveButtonTitle:@"Answer" otherButtonTitles:nil]; + UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:[NSString stringWithFormat:NSLocalizedString(@"%@ está llamando",nil),from] + delegate:self cancelButtonTitle:NSLocalizedString(@"Rechazar",nil) + destructiveButtonTitle:NSLocalizedString(@"Aceptar",nil) otherButtonTitles:nil]; actionSheet.actionSheetStyle = UIActionSheetStyleDefault; [actionSheet showFromTabBar:myTabBarController.tabBar]; [actionSheet release]; @@ -323,6 +454,12 @@ LinphoneCoreVTable linphonec_vtable = { } - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { + UInt32 audioRouteNone = kAudioSessionOverrideAudioRoute_None; + + AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute + , sizeof (audioRouteNone) + , &audioRouteNone); + if (buttonIndex == 0 ) { linphone_core_accept_call(myLinphoneCore,NULL); } else { @@ -331,7 +468,13 @@ LinphoneCoreVTable linphonec_vtable = { } //scheduling loop -(void) iterate { - linphone_core_iterate(myLinphoneCore); + if (isTunnel==true) { + if (linphone_iphone_tunneling_isready() ) { + linphone_core_iterate(myLinphoneCore); + } + }else { + linphone_core_iterate(myLinphoneCore); + } } @@ -346,6 +489,94 @@ LinphoneCoreVTable linphonec_vtable = { return nil; } +bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void * info) { + LinphoneProxyConfig* proxyCfg; + linphone_core_get_default_proxy((LinphoneCore*)info,&proxyCfg); + linphone_proxy_config_edit(proxyCfg); + bool result = false; +#ifdef LINPHONE_WIFI_ONLY + if ((flags & kSCNetworkReachabilityFlagsIsWWAN) == 0) { + linphone_proxy_config_enable_register(proxyCfg,TRUE); + result=true; + } else { + linphone_proxy_config_enable_register(proxyCfg,FALSE); + result = false; + } +#else + if (flags) { + // register whatever connection type + linphone_proxy_config_enable_register(proxyCfg,TRUE); + result = true; + } else { + linphone_proxy_config_enable_register(proxyCfg,false); + result = false; + } +#endif + linphone_proxy_config_done(proxyCfg); + return result; +} +-(bool) toggleTunnel { + if (isTunnelConfigured) { + if (isTunnel) { + [self disableTunnel]; + } else { + [self enableTunnel]; + } + isTunnel=!isTunnel; + } else { + UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) + message:NSLocalizedString(@"Auroc cannot be activated, go to the settings to configure",nil) + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil]; + [alert show]; + + } + return isTunnel; +} +-(void) enableTunnel { + linphone_iphone_enable_tunneling(myLinphoneCore); + [self doRegister]; + +} +-(void) disableTunnel { + linphone_iphone_disable_tunneling(myLinphoneCore); + [self doRegister]; +} + +-(void) doRegister { + SCNetworkReachabilityFlags reachabilityFlags; + networkReachabilityCallBack(proxyReachability,reachabilityFlags,myLinphoneCore); +} +-(LinphoneCore*) getLinphoneCore { + return myLinphoneCore; +} + +-(bool) isTunnel { + return isTunnel; +} + +-(void) resetConfig { + + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"username_preference"]; + [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"password_preference"]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"domain_preference"]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"proxy_preference"]; + + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"axtelpin_preference"]; + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"tunnelenable_preference"]; + + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"gsm_22k_preference"]; + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"gsm_11k_preference"]; + [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"gsm_8k_preference"]; + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"pcmu_preference"]; + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"pcma_preference"]; + + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"debugenable_preference"]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"prefix_preference"]; + [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"firstlogindone_preference"]; + +} @end diff --git a/Classes/tunnel.cc b/Classes/tunnel.cc new file mode 100644 index 000000000..caa9a3828 --- /dev/null +++ b/Classes/tunnel.cc @@ -0,0 +1,133 @@ +/* +* C Implementation: tunnel +* +* Description: +* +* +* Author: Simon Morlat , (C) 2009 +* +* Copyright: See COPYING file that comes with this distribution +* +*/ + +#include "axtunnel/client.hh" + +#include +#include "linphonecore.h" + +/* +remember to build eXosip with: +make DEFS="-DHAVE_CONFIG_H -Drecvfrom=eXosip_recvfrom -Dsendto=eXosip_sendto -Dselect=eXosip_select" +*/ + +using namespace axtel; + +static TunnelSocket *sip_socket; +static TunnelSocket *rtp_socket=0; +static TunnelClient* linphone_iphone_tun=0; +static bool linphone_iphone_tun_enable=false; + +extern "C" void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); + +extern "C" int eXosip_sendto(int fd,const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen){ + if(linphone_iphone_tun == 0 || !linphone_iphone_tun_enable) { + return sendto(fd, buf, len, flags, to, tolen); + } else { + if (sip_socket==NULL) sip_socket=linphone_iphone_tun->createSocket(5060); + return sip_socket->sendto(buf,len,to,tolen); + } +} + +extern "C" int eXosip_recvfrom(int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen){ + if(linphone_iphone_tun == 0 || !linphone_iphone_tun_enable ) { + return recvfrom(fd,buf,len,flags,from,fromlen); + } else { + if (sip_socket==NULL) sip_socket=linphone_iphone_tun->createSocket(5060); + return sip_socket->recvfrom(buf,len,from,*fromlen); + } +} + +extern "C" int eXosip_select(int nfds, fd_set *s1, fd_set *s2, fd_set *s3, struct timeval *tv){ + if(linphone_iphone_tun == 0 || !linphone_iphone_tun_enable) { + return select(nfds,s1,s2,s3,tv); + } else { + struct timeval begin,cur; + if (sip_socket==NULL) sip_socket=linphone_iphone_tun->createSocket(5060); + if (tv!=0 && tv->tv_sec){ + unsigned int i; + fd_set tmp; + + for(i=0;ihasData()) return 1; + gettimeofday(&cur,NULL); + if (cur.tv_sec-begin.tv_sec>tv->tv_sec) return 0; + memcpy(&tmp,s1,sizeof(tmp)); + if (select(nfds,&tmp,s2,s3,&abit)==1) return 2; + }while(1); + + }else{ + return select(nfds,s1,s2,s3,tv); + } + } +} + +static int audio_sendto(struct _RtpTransport *t, mblk_t *msg , int flags, const struct sockaddr *to, socklen_t tolen){ + int size; + msgpullup(msg,-1); + size=msgdsize(msg); + rtp_socket->sendto(msg->b_rptr,size,to,tolen); + return size; +} + +static int audio_recvfrom(struct _RtpTransport *t, mblk_t *msg, int flags, struct sockaddr *from, socklen_t *fromlen){ + int err=rtp_socket->recvfrom(msg->b_wptr,msg->b_datap->db_lim-msg->b_datap->db_base,from,*fromlen); + if (err>0) return err; + return 0; +} + + +static RtpTransport audio_transport={ + NULL, + NULL, + audio_sendto, + audio_recvfrom +}; + + +extern "C" void linphone_iphone_tunneling_init(const char* ip,unsigned int port,bool isDebug){ + if (isDebug) { + SetLogHandler(&linphone_iphone_log_handler); + SetLogLevel(AXTUNNEL_ERROR|AXTUNNEL_WARN); + } else { + SetLogLevel(0); + } + linphone_iphone_tun = new TunnelClient(ip,port); +} + +extern "C" void linphone_iphone_enable_tunneling(LinphoneCore* lc){ + if (rtp_socket==0) rtp_socket=linphone_iphone_tun->createSocket(7078); + linphone_core_set_audio_transports(lc,&audio_transport,NULL); + linphone_iphone_tun_enable = true; +} + +extern "C" void linphone_iphone_disable_tunneling(LinphoneCore* lc){ + linphone_iphone_tun_enable = false; + linphone_core_set_audio_transports(lc,NULL,NULL); +} + +extern "C" int linphone_iphone_tunneling_isready(){ + return (linphone_iphone_tun!=0) && linphone_iphone_tun->isReady(); +} + diff --git a/PhoneMainView.xib b/PhoneMainView.xib index a9588c6ae..883ab9ccb 100644 --- a/PhoneMainView.xib +++ b/PhoneMainView.xib @@ -48,24 +48,27 @@ - - - Dialer + + + Mas NSImage - linphone2.png + boton_mas_1.png - PhoneViewController YES - Favorites + Favoritos + + NSImage + boton_estrella_1.png + @@ -75,29 +78,42 @@ History - history + Recientes + + NSImage + boton_recientes_1.png + CallHistoryTableViewController - - - + + + Teclado + + NSImage + boton_teclado_1.png + - 5 - - - - - - - 0 + PhoneViewController + + + Contactos + + NSImage + boton_contactos_1.png + + + + + + @@ -321,7 +337,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin FavoriteTableViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{11, 205}, {320, 480}} + {{11, 449}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -354,6 +370,14 @@ CallHistoryTableViewController GenericTabViewController + + doAction: + id + + + clear + UIButton + IBProjectSource Classes/CallHistoryTableViewController.h @@ -376,8 +400,17 @@ - add - UIButton + YES + + YES + add + edit + + + YES + UIButton + UIButton + IBProjectSource @@ -432,18 +465,21 @@ address back call - cancel eight + endPhoneNumEditing five four + gsmCall hash + linphoneDelegate nine one + pad seven six star - status three + tun two zero @@ -458,11 +494,14 @@ UIButton UIButton UIButton + id + UIButton + UIButton + UIView UIButton UIButton UIButton UIButton - UILabel UIButton UIButton UIButton diff --git a/Resources/Default.png b/Resources/Default.png new file mode 100644 index 000000000..9377f99cf Binary files /dev/null and b/Resources/Default.png differ diff --git a/Resources/Elements for the Dialpad/Accep_Buttons/bot_aceptar1.png b/Resources/Elements for the Dialpad/Accep_Buttons/bot_aceptar1.png new file mode 100644 index 000000000..42e81954b Binary files /dev/null and b/Resources/Elements for the Dialpad/Accep_Buttons/bot_aceptar1.png differ diff --git a/Resources/Elements for the Dialpad/Accep_Buttons/bot_aceptar2.png b/Resources/Elements for the Dialpad/Accep_Buttons/bot_aceptar2.png new file mode 100644 index 000000000..5f558d6e8 Binary files /dev/null and b/Resources/Elements for the Dialpad/Accep_Buttons/bot_aceptar2.png differ diff --git a/Resources/Elements for the Dialpad/DialpadIphoneAXTELgris.jpg b/Resources/Elements for the Dialpad/DialpadIphoneAXTELgris.jpg new file mode 100644 index 000000000..63e2d1277 Binary files /dev/null and b/Resources/Elements for the Dialpad/DialpadIphoneAXTELgris.jpg differ diff --git a/Resources/Elements for the Dialpad/Reject_Button/bot_rechazar1.png b/Resources/Elements for the Dialpad/Reject_Button/bot_rechazar1.png new file mode 100644 index 000000000..65968d958 Binary files /dev/null and b/Resources/Elements for the Dialpad/Reject_Button/bot_rechazar1.png differ diff --git a/Resources/Elements for the Dialpad/Reject_Button/bot_rechazar2.png b/Resources/Elements for the Dialpad/Reject_Button/bot_rechazar2.png new file mode 100644 index 000000000..0816bdacb Binary files /dev/null and b/Resources/Elements for the Dialpad/Reject_Button/bot_rechazar2.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_config_1.png b/Resources/Elements for the Dialpad/barra inferior/boton_config_1.png new file mode 100644 index 000000000..9e6837a1b Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_config_1.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_config_2.png b/Resources/Elements for the Dialpad/barra inferior/boton_config_2.png new file mode 100644 index 000000000..9b1b9fe16 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_config_2.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_contactos_1.png b/Resources/Elements for the Dialpad/barra inferior/boton_contactos_1.png new file mode 100644 index 000000000..6eca8be49 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_contactos_1.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_contactos_2.png b/Resources/Elements for the Dialpad/barra inferior/boton_contactos_2.png new file mode 100644 index 000000000..08f10097d Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_contactos_2.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_estrella_1.png b/Resources/Elements for the Dialpad/barra inferior/boton_estrella_1.png new file mode 100644 index 000000000..3b82d4391 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_estrella_1.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_estrella_2.png b/Resources/Elements for the Dialpad/barra inferior/boton_estrella_2.png new file mode 100644 index 000000000..bcc754e91 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_estrella_2.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_recientes_1.png b/Resources/Elements for the Dialpad/barra inferior/boton_recientes_1.png new file mode 100644 index 000000000..fa9537b64 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_recientes_1.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_recientes_2.png b/Resources/Elements for the Dialpad/barra inferior/boton_recientes_2.png new file mode 100644 index 000000000..469de9d19 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_recientes_2.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_teclado_1.png b/Resources/Elements for the Dialpad/barra inferior/boton_teclado_1.png new file mode 100644 index 000000000..a434ccef7 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_teclado_1.png differ diff --git a/Resources/Elements for the Dialpad/barra inferior/boton_teclado_2.png b/Resources/Elements for the Dialpad/barra inferior/boton_teclado_2.png new file mode 100644 index 000000000..73fdc31e6 Binary files /dev/null and b/Resources/Elements for the Dialpad/barra inferior/boton_teclado_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-Off.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-Off.png new file mode 100644 index 000000000..4e9fa8c5a Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-Off.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-On.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-On.png new file mode 100644 index 000000000..f87f6850d Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-On.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton0_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton0_1.png new file mode 100755 index 000000000..37494a674 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton0_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton0_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton0_2.png new file mode 100755 index 000000000..9f70c75b3 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton0_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton1_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton1_1.png new file mode 100755 index 000000000..96d1fbea5 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton1_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton1_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton1_2.png new file mode 100755 index 000000000..9970e2e85 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton1_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton2_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton2_1.png new file mode 100755 index 000000000..e5a1562c8 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton2_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton2_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton2_2.png new file mode 100755 index 000000000..c37628f5f Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton2_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton3_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton3_1.png new file mode 100755 index 000000000..67d189a6f Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton3_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton3_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton3_2.png new file mode 100755 index 000000000..f76ab13ee Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton3_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton4_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton4_1.png new file mode 100755 index 000000000..157c7c7ce Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton4_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton4_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton4_2.png new file mode 100755 index 000000000..d80015044 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton4_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton5_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton5_1.png new file mode 100755 index 000000000..358f82d0a Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton5_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton5_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton5_2.png new file mode 100755 index 000000000..6f8bc7721 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton5_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton6_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton6_1.png new file mode 100755 index 000000000..530db82d3 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton6_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton6_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton6_2.png new file mode 100755 index 000000000..98f4359ab Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton6_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton7_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton7_1.png new file mode 100644 index 000000000..8be5e4e03 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton7_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton7_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton7_2.png new file mode 100644 index 000000000..2e8f097df Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton7_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton8_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton8_1.png new file mode 100644 index 000000000..f1e651279 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton8_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton8_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton8_2.png new file mode 100644 index 000000000..d36bbc3b1 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton8_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton9_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton9_1.png new file mode 100644 index 000000000..1f6952dcf Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton9_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton9_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton9_2.png new file mode 100644 index 000000000..38db79415 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton9_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_AXTEL_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_AXTEL_1.png new file mode 100755 index 000000000..04ef965ee Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_AXTEL_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_AXTEL_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_AXTEL_2.png new file mode 100755 index 000000000..4b950e1ba Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_AXTEL_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_agregarcontactos_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_agregarcontactos_1.png new file mode 100755 index 000000000..66d626330 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_agregarcontactos_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_agregarcontactos_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_agregarcontactos_2.png new file mode 100755 index 000000000..cace7395b Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_agregarcontactos_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_asterisco_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_asterisco_1.png new file mode 100755 index 000000000..cbbaa1aca Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_asterisco_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_asterisco_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_asterisco_2.png new file mode 100755 index 000000000..2bdd6ecac Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_asterisco_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_celular_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_celular_1.png new file mode 100644 index 000000000..4652314ed Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_celular_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_celular_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_celular_2.png new file mode 100644 index 000000000..9030d5555 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_celular_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_num_1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_num_1.png new file mode 100755 index 000000000..f20523954 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_num_1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_num_2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_num_2.png new file mode 100755 index 000000000..0a86eecc7 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/boton_num_2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/flecha_borrar1.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/flecha_borrar1.png new file mode 100755 index 000000000..ef7199758 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/flecha_borrar1.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/flecha_borrar2.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/flecha_borrar2.png new file mode 100755 index 000000000..1af781460 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/flecha_borrar2.png differ diff --git a/Resources/Elements for the Dialpad/elementos separados Dialpad/plecasuperiorconlogo.png b/Resources/Elements for the Dialpad/elementos separados Dialpad/plecasuperiorconlogo.png new file mode 100755 index 000000000..7e7532764 Binary files /dev/null and b/Resources/Elements for the Dialpad/elementos separados Dialpad/plecasuperiorconlogo.png differ diff --git a/Resources/English.lproj/Localizable.strings b/Resources/English.lproj/Localizable.strings new file mode 100644 index 000000000..b5225fc5e --- /dev/null +++ b/Resources/English.lproj/Localizable.strings @@ -0,0 +1,75 @@ +/* + Localizable.strings + linphone + + Created by jehan on 25/01/10. + Copyright 2010 __MyCompanyName__. All rights reserved. + */ + + +/* No comment provided by engineer. */ +"%@ está llamando" = "%@ is calling"; + +/* No comment provided by engineer. */ +"Aceptar" = "Accept"; + +/* No comment provided by engineer. */ +"Auroc cannot be activated, go to the settings to configure" = "Error en la activación de AXTEL Key, revisa tu configuración."; + +/* No comment provided by engineer. */ +"Aviso" = "Alert"; + +/* No comment provided by engineer. */ +"Connection interumpida" = "Conexión interrumpida"; + +/* No comment provided by engineer. */ +"Continue" = "Continue"; + +/* No comment provided by engineer. */ +"Enter your domain" = "Enter your domain"; + +/* No comment provided by engineer. */ +"Enter your password" = "Enter your password"; + +/* No comment provided by engineer. */ +"Enter your username" = "Enter your username"; + +/* No comment provided by engineer. */ +"Error" = "Error"; + +/* No comment provided by engineer. */ +"Esto borrara sus configuraciones actuales, seguro que desea continuar?" = "Configuration reset, are you sure ?"; + +/* No comment provided by engineer. */ +"Favor de conectarse a una red inalambrica" = "try to connect to wifi first"; + +/* No comment provided by engineer. */ +"Llamando..." = "Calling..."; + +/* No comment provided by engineer. */ +"No" = "No"; + +/* No comment provided by engineer. */ +"Ok" = "Ok"; + +/* No comment provided by engineer. */ +"Rechazar" = "reject"; + +/* No comment provided by engineer. */ +"Si" = "Yes"; + +/* No comment provided by engineer. */ +"Wrong axtel number or pin, disabling tunnel" = "Wrong axtel number or pin, disabling tunnel"; + +/* No comment provided by engineer. */ +"Wrong domain or network unreachable" = "Wrong domain or network unreachable"; + +/* No comment provided by engineer. */ +"Wrong user name or password, go to the settings menu" = "Wrong user name or password, go to the settings menu"; + +/* No comment provided by engineer. */ +"Your phone is no longuer connected, check your connection settings" = "Error en el registro, revisa tu configuración"; + +/* No comment provided by engineer. */ +"Alert" = "Alert"; + diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/boton_colgar.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/boton_colgar.png new file mode 100755 index 000000000..142bfcdd4 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/boton_colgar.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/corner_der.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/corner_der.png new file mode 100644 index 000000000..8009d6429 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/corner_der.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/corner_izq.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/corner_izq.png new file mode 100644 index 000000000..dc6d4a570 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/corner_izq.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/fondo_gris_botones.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/fondo_gris_botones.png new file mode 100755 index 000000000..8851cba7e Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/fondo_gris_botones.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_altavoz_1.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_altavoz_1.png new file mode 100644 index 000000000..1efacbee1 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_altavoz_1.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_altavoz_2.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_altavoz_2.png new file mode 100644 index 000000000..ce97f2de1 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_altavoz_2.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_contactos_1.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_contactos_1.png new file mode 100644 index 000000000..cbb4b29c7 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_contactos_1.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_contactos_2.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_contactos_2.png new file mode 100644 index 000000000..8fd7f443d Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_contactos_2.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_silencio_1.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_silencio_1.png new file mode 100644 index 000000000..a54039e7c Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_silencio_1.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_silencio_2.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_silencio_2.png new file mode 100644 index 000000000..bfb270745 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_silencio_2.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_teclado_1.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_teclado_1.png new file mode 100644 index 000000000..4fb00b808 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_teclado_1.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_teclado_2.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_teclado_2.png new file mode 100644 index 000000000..5786ec656 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/icono_teclado_2.png differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/llamadaactiva_negroyrojo.jpg b/Resources/Ongoing call elements/elementos_separados_llamada_activa/llamadaactiva_negroyrojo.jpg new file mode 100755 index 000000000..2ca3c59a7 Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/llamadaactiva_negroyrojo.jpg differ diff --git a/Resources/Ongoing call elements/elementos_separados_llamada_activa/pleca_gris.png b/Resources/Ongoing call elements/elementos_separados_llamada_activa/pleca_gris.png new file mode 100755 index 000000000..08c555e7d Binary files /dev/null and b/Resources/Ongoing call elements/elementos_separados_llamada_activa/pleca_gris.png differ diff --git a/Resources/Resources-1.moved-aside/Localizable.strings b/Resources/Resources-1.moved-aside/Localizable.strings new file mode 100644 index 000000000..09c7a1a49 --- /dev/null +++ b/Resources/Resources-1.moved-aside/Localizable.strings @@ -0,0 +1,67 @@ + +/* No comment provided by engineer. */ +"%@ está llamando" = "%@ está llamando"; + +/* No comment provided by engineer. */ +"Aceptar" = "Aceptar"; +file://localhost/Users/jehanmonnier/workspaces/workspace-corusquante/linphone-private/linphone/xcode/linphone/Resources/en.lproj +/* No comment provided by engineer. */ +"Auroc cannot be activated, go to the settings to configure" = "Error en la activación de AXTEL Key, revisa tu configuración."; + +/* No comment provided by engineer. */ +"Aviso" = "Aviso"; + +/* No comment provided by engineer. */ +"Connection interumpida" = "Conexión interrumpida"; + +/* No comment provided by engineer. */ +"Continue" = "Continuar"; + +/* No comment provided by engineer. */ +"Enter your domain" = "Ingresa tu dominio"; + +/* No comment provided by engineer. */ +"Enter your password" = "Ingresa tu contraseña"; + +/* No comment provided by engineer. */ +"Enter your username" = "Ingresa tu usuario"; + +/* No comment provided by engineer. */ +"Error" = "Error"; + +/* No comment provided by engineer. */ +"Esto borrara sus configuraciones actuales, seguro que desea continuar?" = "Esto borrará tu configuración actual. ¿Seguro que deseas continuar?"; + +/* No comment provided by engineer. */ +"Favor de conectarse a una red inalambrica" = "No se detectó una red inalámbrica.";; + +/* No comment provided by engineer. */ +"Llamando..." = "Llamando..."; + +/* No comment provided by engineer. */ +"No" = "No"; + +/* No comment provided by engineer. */ +"Ok" = "Ok"; + +/* No comment provided by engineer. */ +"Rechazar" = "Rechazar"; + +/* No comment provided by engineer. */ +"Si" = "Si"; + +/* No comment provided by engineer. */ +"Wrong axtel number or pin, disabling tunnel" = "AXTEL Key incorrecto. Revisa tu configuración"; + +/* No comment provided by engineer. */ +"Wrong domain or network unreachable" = "Dominio incorrecto o servidor no disponible"; + +/* No comment provided by engineer. */ +"Wrong user name or password, go to the settings menu" = "Usuario o contraseña incorrectos, revisa tu configuración"; + +/* No comment provided by engineer. */ +"Your phone is no longuer connected, check your connection settings" = "Error en el registro, revisa tu configuración"; + +/* No comment provided by engineer. */ +"Alert" = "Aviso" + diff --git a/Resources/Spanish.lproj/Localizable.strings b/Resources/Spanish.lproj/Localizable.strings new file mode 100644 index 000000000..dd2d81f16 Binary files /dev/null and b/Resources/Spanish.lproj/Localizable.strings differ diff --git a/Resources/about.jpg b/Resources/about.jpg new file mode 100644 index 000000000..c798f50e8 Binary files /dev/null and b/Resources/about.jpg differ diff --git a/Resources/axtel_bg.png b/Resources/axtel_bg.png new file mode 100644 index 000000000..108f4d411 Binary files /dev/null and b/Resources/axtel_bg.png differ diff --git a/Resources/elementos keypad/boton_0-1.png b/Resources/elementos keypad/boton_0-1.png new file mode 100644 index 000000000..56091d54c Binary files /dev/null and b/Resources/elementos keypad/boton_0-1.png differ diff --git a/Resources/elementos keypad/boton_0-2.png b/Resources/elementos keypad/boton_0-2.png new file mode 100644 index 000000000..eca21bab4 Binary files /dev/null and b/Resources/elementos keypad/boton_0-2.png differ diff --git a/Resources/elementos keypad/boton_1-1.png b/Resources/elementos keypad/boton_1-1.png new file mode 100644 index 000000000..de0482d6b Binary files /dev/null and b/Resources/elementos keypad/boton_1-1.png differ diff --git a/Resources/elementos keypad/boton_1-2.png b/Resources/elementos keypad/boton_1-2.png new file mode 100644 index 000000000..26450d02a Binary files /dev/null and b/Resources/elementos keypad/boton_1-2.png differ diff --git a/Resources/elementos keypad/boton_2-1.png b/Resources/elementos keypad/boton_2-1.png new file mode 100644 index 000000000..113982314 Binary files /dev/null and b/Resources/elementos keypad/boton_2-1.png differ diff --git a/Resources/elementos keypad/boton_2-2.png b/Resources/elementos keypad/boton_2-2.png new file mode 100644 index 000000000..e09d808a9 Binary files /dev/null and b/Resources/elementos keypad/boton_2-2.png differ diff --git a/Resources/elementos keypad/boton_3-1.png b/Resources/elementos keypad/boton_3-1.png new file mode 100644 index 000000000..c7469bf33 Binary files /dev/null and b/Resources/elementos keypad/boton_3-1.png differ diff --git a/Resources/elementos keypad/boton_3-2.png b/Resources/elementos keypad/boton_3-2.png new file mode 100644 index 000000000..b04528459 Binary files /dev/null and b/Resources/elementos keypad/boton_3-2.png differ diff --git a/Resources/elementos keypad/boton_4-1.png b/Resources/elementos keypad/boton_4-1.png new file mode 100644 index 000000000..995a1ea26 Binary files /dev/null and b/Resources/elementos keypad/boton_4-1.png differ diff --git a/Resources/elementos keypad/boton_4-2.png b/Resources/elementos keypad/boton_4-2.png new file mode 100644 index 000000000..272e74e52 Binary files /dev/null and b/Resources/elementos keypad/boton_4-2.png differ diff --git a/Resources/elementos keypad/boton_5-1.png b/Resources/elementos keypad/boton_5-1.png new file mode 100644 index 000000000..519fef8d9 Binary files /dev/null and b/Resources/elementos keypad/boton_5-1.png differ diff --git a/Resources/elementos keypad/boton_5-2.png b/Resources/elementos keypad/boton_5-2.png new file mode 100644 index 000000000..5bea845fb Binary files /dev/null and b/Resources/elementos keypad/boton_5-2.png differ diff --git a/Resources/elementos keypad/boton_6-1.png b/Resources/elementos keypad/boton_6-1.png new file mode 100644 index 000000000..5f22dc97e Binary files /dev/null and b/Resources/elementos keypad/boton_6-1.png differ diff --git a/Resources/elementos keypad/boton_6-2.png b/Resources/elementos keypad/boton_6-2.png new file mode 100644 index 000000000..90a6e43b4 Binary files /dev/null and b/Resources/elementos keypad/boton_6-2.png differ diff --git a/Resources/elementos keypad/boton_7-1.png b/Resources/elementos keypad/boton_7-1.png new file mode 100644 index 000000000..87fd3dca4 Binary files /dev/null and b/Resources/elementos keypad/boton_7-1.png differ diff --git a/Resources/elementos keypad/boton_7-2.png b/Resources/elementos keypad/boton_7-2.png new file mode 100644 index 000000000..08de86cc8 Binary files /dev/null and b/Resources/elementos keypad/boton_7-2.png differ diff --git a/Resources/elementos keypad/boton_8-1.png b/Resources/elementos keypad/boton_8-1.png new file mode 100644 index 000000000..ceb6efd5b Binary files /dev/null and b/Resources/elementos keypad/boton_8-1.png differ diff --git a/Resources/elementos keypad/boton_8-2.png b/Resources/elementos keypad/boton_8-2.png new file mode 100644 index 000000000..d87c961b6 Binary files /dev/null and b/Resources/elementos keypad/boton_8-2.png differ diff --git a/Resources/elementos keypad/boton_9-1.png b/Resources/elementos keypad/boton_9-1.png new file mode 100644 index 000000000..0a000c43e Binary files /dev/null and b/Resources/elementos keypad/boton_9-1.png differ diff --git a/Resources/elementos keypad/boton_9-2.png b/Resources/elementos keypad/boton_9-2.png new file mode 100644 index 000000000..872030d2e Binary files /dev/null and b/Resources/elementos keypad/boton_9-2.png differ diff --git a/Resources/elementos keypad/boton_asterisco-1.png b/Resources/elementos keypad/boton_asterisco-1.png new file mode 100644 index 000000000..9661c4186 Binary files /dev/null and b/Resources/elementos keypad/boton_asterisco-1.png differ diff --git a/Resources/elementos keypad/boton_asterisco-2.png b/Resources/elementos keypad/boton_asterisco-2.png new file mode 100644 index 000000000..aa842859b Binary files /dev/null and b/Resources/elementos keypad/boton_asterisco-2.png differ diff --git a/Resources/elementos keypad/boton_colgar1.png b/Resources/elementos keypad/boton_colgar1.png new file mode 100644 index 000000000..5c07a9c0e Binary files /dev/null and b/Resources/elementos keypad/boton_colgar1.png differ diff --git a/Resources/elementos keypad/boton_colgar2.png b/Resources/elementos keypad/boton_colgar2.png new file mode 100644 index 000000000..177bb8d8e Binary files /dev/null and b/Resources/elementos keypad/boton_colgar2.png differ diff --git a/Resources/elementos keypad/boton_mas_1.png b/Resources/elementos keypad/boton_mas_1.png new file mode 100644 index 000000000..17d805cd4 Binary files /dev/null and b/Resources/elementos keypad/boton_mas_1.png differ diff --git a/Resources/elementos keypad/boton_mas_2.png b/Resources/elementos keypad/boton_mas_2.png new file mode 100644 index 000000000..0ab5e89dd Binary files /dev/null and b/Resources/elementos keypad/boton_mas_2.png differ diff --git a/Resources/elementos keypad/boton_num-1.png b/Resources/elementos keypad/boton_num-1.png new file mode 100644 index 000000000..13ddcdee1 Binary files /dev/null and b/Resources/elementos keypad/boton_num-1.png differ diff --git a/Resources/elementos keypad/boton_num-2.png b/Resources/elementos keypad/boton_num-2.png new file mode 100644 index 000000000..dfa16ceef Binary files /dev/null and b/Resources/elementos keypad/boton_num-2.png differ diff --git a/Resources/elementos keypad/boton_regresar1.png b/Resources/elementos keypad/boton_regresar1.png new file mode 100644 index 000000000..8d602d903 Binary files /dev/null and b/Resources/elementos keypad/boton_regresar1.png differ diff --git a/Resources/elementos keypad/boton_regresar2.png b/Resources/elementos keypad/boton_regresar2.png new file mode 100644 index 000000000..f77529870 Binary files /dev/null and b/Resources/elementos keypad/boton_regresar2.png differ diff --git a/Resources/elementos keypad/pantalla_keypad_completa1.jpg b/Resources/elementos keypad/pantalla_keypad_completa1.jpg new file mode 100644 index 000000000..4df9262e1 Binary files /dev/null and b/Resources/elementos keypad/pantalla_keypad_completa1.jpg differ diff --git a/Resources/elementos keypad/pantalla_keypad_completa2.jpg b/Resources/elementos keypad/pantalla_keypad_completa2.jpg new file mode 100644 index 000000000..77fe0dad5 Binary files /dev/null and b/Resources/elementos keypad/pantalla_keypad_completa2.jpg differ diff --git a/Resources/elements_for_favoritesContactsRecent/Erase_Button/bot_borrar1.png b/Resources/elements_for_favoritesContactsRecent/Erase_Button/bot_borrar1.png new file mode 100644 index 000000000..72ecf0a10 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/Erase_Button/bot_borrar1.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/Erase_Button/bot_borrar2.png b/Resources/elements_for_favoritesContactsRecent/Erase_Button/bot_borrar2.png new file mode 100644 index 000000000..61455e4ab Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/Erase_Button/bot_borrar2.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/More_tab_button/boton_mas_1.png b/Resources/elements_for_favoritesContactsRecent/More_tab_button/boton_mas_1.png new file mode 100644 index 000000000..17d805cd4 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/More_tab_button/boton_mas_1.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/More_tab_button/boton_mas_2.png b/Resources/elements_for_favoritesContactsRecent/More_tab_button/boton_mas_2.png new file mode 100644 index 000000000..0ab5e89dd Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/More_tab_button/boton_mas_2.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/OK_Button/bot_ok1.png b/Resources/elements_for_favoritesContactsRecent/OK_Button/bot_ok1.png new file mode 100644 index 000000000..ea10021f3 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/OK_Button/bot_ok1.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/OK_Button/bot_ok2.png b/Resources/elements_for_favoritesContactsRecent/OK_Button/bot_ok2.png new file mode 100644 index 000000000..0bddb64fc Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/OK_Button/bot_ok2.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/bootonAccesoAxtelito.png b/Resources/elements_for_favoritesContactsRecent/bootonAccesoAxtelito.png new file mode 100644 index 000000000..a4801d1d0 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/bootonAccesoAxtelito.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/contactos_gris.jpg b/Resources/elements_for_favoritesContactsRecent/contactos_gris.jpg new file mode 100644 index 000000000..ee006521f Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/contactos_gris.jpg differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_agregar_1.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_agregar_1.png new file mode 100755 index 000000000..6d1f69f10 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_agregar_1.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_agregar_2.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_agregar_2.png new file mode 100755 index 000000000..99f7b4674 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_agregar_2.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_avanzar_1.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_avanzar_1.png new file mode 100755 index 000000000..81355a9b6 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_avanzar_1.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_avanzar_2.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_avanzar_2.png new file mode 100755 index 000000000..ff81c9165 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_avanzar_2.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_editar_1.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_editar_1.png new file mode 100755 index 000000000..f7571d89a Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_editar_1.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_editar_2.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_editar_2.png new file mode 100755 index 000000000..146f32145 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/boton_editar_2.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/pleca_gris.png b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/pleca_gris.png new file mode 100755 index 000000000..057bb65b1 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/elementos_pantallas_listas/pleca_gris.png differ diff --git a/Resources/elements_for_favoritesContactsRecent/favoritosgris.jpg b/Resources/elements_for_favoritesContactsRecent/favoritosgris.jpg new file mode 100644 index 000000000..6f0cc0f81 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/favoritosgris.jpg differ diff --git a/Resources/elements_for_favoritesContactsRecent/llamadasrecientes_gris.jpg b/Resources/elements_for_favoritesContactsRecent/llamadasrecientes_gris.jpg new file mode 100644 index 000000000..82f54c8c6 Binary files /dev/null and b/Resources/elements_for_favoritesContactsRecent/llamadasrecientes_gris.jpg differ diff --git a/Resources/faded Screen.jpg b/Resources/faded Screen.jpg new file mode 100644 index 000000000..be54fe70b Binary files /dev/null and b/Resources/faded Screen.jpg differ diff --git a/in_call.png b/Resources/in_call.png similarity index 100% rename from in_call.png rename to Resources/in_call.png diff --git a/out_call.png b/Resources/out_call.png similarity index 100% rename from out_call.png rename to Resources/out_call.png diff --git a/Settings.bundle/en.lproj/Root.strings b/Settings.bundle/en.lproj/Root.strings deleted file mode 100644 index 8cd87b9d6..000000000 Binary files a/Settings.bundle/en.lproj/Root.strings and /dev/null differ diff --git a/advanced-settings/Settings.bundle/Root.plist b/advanced-settings/Settings.bundle/Root.plist new file mode 100644 index 000000000..609837514 --- /dev/null +++ b/advanced-settings/Settings.bundle/Root.plist @@ -0,0 +1,224 @@ + + + + + StringsTable + Root + PreferenceSpecifiers + + + Type + PSGroupSpecifier + Title + SIP Account + + + Type + PSTextFieldSpecifier + Title + User* + Key + username_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + Pass* + Key + password_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + Domain* + Key + domain_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + Proxy + Key + proxy_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSGroupSpecifier + Title + Codecs + + + 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 + + + + New item + + Type + PSToggleSwitchSpecifier + Title + Habilitar Auroc + Key + tunnelenable_preference + DefaultValue + + + Type + PSGroupSpecifier + Title + Auroc Core + + + Type + PSToggleSwitchSpecifier + Title + enable Auroc + Key + tunnelenable_preference + DefaultValue + + + + Type + PSTextFieldSpecifier + Title + Axtel PIN + Key + axtelpin_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSGroupSpecifier + Title + Advance + + + Type + PSToggleSwitchSpecifier + Title + Debug + Key + debugenable_preference + DefaultValue + + + + Type + PSTextFieldSpecifier + Title + Prefix + Key + prefix_preference + DefaultValue + + IsSecure + + KeyboardType + NumberPad + AutocapitalizationType + None + AutocorrectionType + No + + + + diff --git a/advanced-settings/Settings.bundle/en.lproj/Root.strings b/advanced-settings/Settings.bundle/en.lproj/Root.strings new file mode 100644 index 000000000..a0bf69198 --- /dev/null +++ b/advanced-settings/Settings.bundle/en.lproj/Root.strings @@ -0,0 +1,14 @@ +/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */ + +"SIP Account" = "SIP Account"; +"User*" = "User*"; +"Pass*" = "Pass*"; +"Domain*" = "Domain*"; +"Proxy" = "Proxy"; + +"Codecs" = "Codecs"; + +"Auroc Core" = "Auroc Core"; +"enable Auroc" = "enable Auroc"; + +"Axtel PIN" = "Axtel PIN"; diff --git a/advanced-settings/Settings.bundle/es.lproj/Root.strings b/advanced-settings/Settings.bundle/es.lproj/Root.strings new file mode 100644 index 000000000..8c2e812f3 --- /dev/null +++ b/advanced-settings/Settings.bundle/es.lproj/Root.strings @@ -0,0 +1,14 @@ +/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */ + +"SIP Account" = "Cuenta SIP"; +"User*" = "Usuario*"; +"Pass*" = "Contraseña*"; +"Domain*" = "Dominio*"; +"Proxy" = "Proxy"; + +"Codecs" = "Codecs"; + +"Auroc Core" = "Auroc Core"; +"enable Auroc" = "Habilitar AXTEL Key"; + +"Axtel PIN" = "AXTEL Key"; diff --git a/linphone-Info.plist b/linphone-Info.plist index 1418f3cba..59108b323 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -4,14 +4,16 @@ CFBundleDevelopmentRegion English + UIRequiresPersistentWiFi + CFBundleDisplayName - ${PRODUCT_NAME} + Axtel CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile - linphone2.png + bootonAccesoAxtelito.png CFBundleIdentifier - org.linphone.phone + com.axtel.phone CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -21,7 +23,7 @@ CFBundleSignature ???? CFBundleVersion - 1.0 + 0.1 LSRequiresIPhoneOS NSMainNibFile diff --git a/linphone-advanced-Info.plist b/linphone-advanced-Info.plist new file mode 100644 index 000000000..caca6be2d --- /dev/null +++ b/linphone-advanced-Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + Axtel + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + bootonAccesoAxtelito.png + CFBundleIdentifier + com.axtel.phone + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 0.1 + LSRequiresIPhoneOS + + NSMainNibFile + PhoneMainView + UIRequiresPersistentWiFi + + + diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 081ef258a..eb7a11f0a 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -11,6 +11,87 @@ 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 */; }; + 220646AB10D7B90300632606 /* tunnel.cc in Sources */ = {isa = PBXBuildFile; fileRef = 220646AA10D7B90300632606 /* tunnel.cc */; }; + 220646E110D7C3EC00632606 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 220646E010D7C3EC00632606 /* Default.png */; }; + 220646ED10D7C5E300632606 /* libaxtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220646EC10D7C5E300632606 /* libaxtunnel.a */; }; + 220646F310D7C62600632606 /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220646F110D7C62600632606 /* libssl.a */; }; + 220646F410D7C62600632606 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220646F210D7C62600632606 /* libcrypto.a */; }; + 2206471F10D7CC4A00632606 /* boton_contactos_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471710D7CC4A00632606 /* boton_contactos_1.png */; }; + 2206472210D7CC4A00632606 /* boton_teclado_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471A10D7CC4A00632606 /* boton_teclado_1.png */; }; + 2206472410D7CC4A00632606 /* boton_recientes_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471C10D7CC4A00632606 /* boton_recientes_1.png */; }; + 2206472610D7CC4A00632606 /* boton_estrella_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471E10D7CC4A00632606 /* boton_estrella_1.png */; }; + 2206477310D7CEEF00632606 /* boton0_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475210D7CEEF00632606 /* boton0_1.png */; }; + 2206477410D7CEEF00632606 /* boton0_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475310D7CEEF00632606 /* boton0_2.png */; }; + 2206477510D7CEEF00632606 /* boton1_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475410D7CEEF00632606 /* boton1_1.png */; }; + 2206477610D7CEEF00632606 /* boton1_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475510D7CEEF00632606 /* boton1_2.png */; }; + 2206477710D7CEEF00632606 /* boton2_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475610D7CEEF00632606 /* boton2_1.png */; }; + 2206477810D7CEEF00632606 /* boton2_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475710D7CEEF00632606 /* boton2_2.png */; }; + 2206477910D7CEEF00632606 /* boton3_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475810D7CEEF00632606 /* boton3_1.png */; }; + 2206477A10D7CEEF00632606 /* boton3_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475910D7CEEF00632606 /* boton3_2.png */; }; + 2206477B10D7CEEF00632606 /* boton4_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475A10D7CEEF00632606 /* boton4_1.png */; }; + 2206477C10D7CEEF00632606 /* boton4_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475B10D7CEEF00632606 /* boton4_2.png */; }; + 2206477D10D7CEEF00632606 /* boton5_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475C10D7CEEF00632606 /* boton5_1.png */; }; + 2206477E10D7CEEF00632606 /* boton5_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475D10D7CEEF00632606 /* boton5_2.png */; }; + 2206477F10D7CEEF00632606 /* boton6_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475E10D7CEEF00632606 /* boton6_1.png */; }; + 2206478010D7CEEF00632606 /* boton6_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475F10D7CEEF00632606 /* boton6_2.png */; }; + 2206478110D7CEEF00632606 /* boton7_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476010D7CEEF00632606 /* boton7_1.png */; }; + 2206478210D7CEEF00632606 /* boton7_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476110D7CEEF00632606 /* boton7_2.png */; }; + 2206478310D7CEEF00632606 /* boton8_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476210D7CEEF00632606 /* boton8_1.png */; }; + 2206478410D7CEEF00632606 /* boton8_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476310D7CEEF00632606 /* boton8_2.png */; }; + 2206478510D7CEEF00632606 /* boton9_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476410D7CEEF00632606 /* boton9_1.png */; }; + 2206478610D7CEEF00632606 /* boton9_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476510D7CEEF00632606 /* boton9_2.png */; }; + 2206478710D7CEEF00632606 /* boton_agregarcontactos_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476610D7CEEF00632606 /* boton_agregarcontactos_1.png */; }; + 2206478810D7CEEF00632606 /* boton_agregarcontactos_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476710D7CEEF00632606 /* boton_agregarcontactos_2.png */; }; + 2206478910D7CEEF00632606 /* boton_asterisco_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476810D7CEEF00632606 /* boton_asterisco_1.png */; }; + 2206478A10D7CEEF00632606 /* boton_asterisco_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476910D7CEEF00632606 /* boton_asterisco_2.png */; }; + 2206478B10D7CEEF00632606 /* boton_AXTEL_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476A10D7CEEF00632606 /* boton_AXTEL_1.png */; }; + 2206478C10D7CEEF00632606 /* boton_AXTEL_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476B10D7CEEF00632606 /* boton_AXTEL_2.png */; }; + 2206478D10D7CEEF00632606 /* boton_celular_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476C10D7CEEF00632606 /* boton_celular_1.png */; }; + 2206478E10D7CEEF00632606 /* boton_celular_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476D10D7CEEF00632606 /* boton_celular_2.png */; }; + 2206478F10D7CEEF00632606 /* boton_num_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476E10D7CEEF00632606 /* boton_num_1.png */; }; + 2206479010D7CEEF00632606 /* boton_num_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476F10D7CEEF00632606 /* boton_num_2.png */; }; + 2206479110D7CEEF00632606 /* flecha_borrar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206477010D7CEEF00632606 /* flecha_borrar1.png */; }; + 2206479210D7CEEF00632606 /* flecha_borrar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206477110D7CEEF00632606 /* flecha_borrar2.png */; }; + 2206479310D7CEEF00632606 /* plecasuperiorconlogo.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206477210D7CEEF00632606 /* plecasuperiorconlogo.png */; }; + 2206482E10D7FF7200632606 /* boton_0-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481110D7FF7200632606 /* boton_0-1.png */; }; + 2206482F10D7FF7200632606 /* boton_0-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481210D7FF7200632606 /* boton_0-2.png */; }; + 2206483010D7FF7200632606 /* boton_1-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481310D7FF7200632606 /* boton_1-1.png */; }; + 2206483210D7FF7200632606 /* boton_2-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481510D7FF7200632606 /* boton_2-1.png */; }; + 2206483310D7FF7200632606 /* boton_2-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481610D7FF7200632606 /* boton_2-2.png */; }; + 2206483410D7FF7200632606 /* boton_3-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481710D7FF7200632606 /* boton_3-1.png */; }; + 2206483510D7FF7200632606 /* boton_3-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481810D7FF7200632606 /* boton_3-2.png */; }; + 2206483610D7FF7200632606 /* boton_4-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481910D7FF7200632606 /* boton_4-1.png */; }; + 2206483710D7FF7200632606 /* boton_4-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481A10D7FF7200632606 /* boton_4-2.png */; }; + 2206483810D7FF7200632606 /* boton_5-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481B10D7FF7200632606 /* boton_5-1.png */; }; + 2206483910D7FF7200632606 /* boton_5-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481C10D7FF7200632606 /* boton_5-2.png */; }; + 2206483A10D7FF7200632606 /* boton_6-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481D10D7FF7200632606 /* boton_6-1.png */; }; + 2206483B10D7FF7200632606 /* boton_6-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481E10D7FF7200632606 /* boton_6-2.png */; }; + 2206483C10D7FF7200632606 /* boton_7-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481F10D7FF7200632606 /* boton_7-1.png */; }; + 2206483D10D7FF7200632606 /* boton_7-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482010D7FF7200632606 /* boton_7-2.png */; }; + 2206483E10D7FF7200632606 /* boton_8-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482110D7FF7200632606 /* boton_8-1.png */; }; + 2206483F10D7FF7200632606 /* boton_8-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482210D7FF7200632606 /* boton_8-2.png */; }; + 2206484010D7FF7200632606 /* boton_9-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482310D7FF7200632606 /* boton_9-1.png */; }; + 2206484110D7FF7200632606 /* boton_9-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482410D7FF7200632606 /* boton_9-2.png */; }; + 2206484210D7FF7200632606 /* boton_asterisco-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482510D7FF7200632606 /* boton_asterisco-1.png */; }; + 2206484310D7FF7200632606 /* boton_asterisco-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482610D7FF7200632606 /* boton_asterisco-2.png */; }; + 2206484410D7FF7200632606 /* boton_colgar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482710D7FF7200632606 /* boton_colgar1.png */; }; + 2206484510D7FF7200632606 /* boton_colgar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482810D7FF7200632606 /* boton_colgar2.png */; }; + 2206484610D7FF7200632606 /* boton_num-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482910D7FF7200632606 /* boton_num-1.png */; }; + 2206484710D7FF7200632606 /* boton_num-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482A10D7FF7200632606 /* boton_num-2.png */; }; + 2206484810D7FF7200632606 /* boton_regresar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482B10D7FF7200632606 /* boton_regresar1.png */; }; + 2206484910D7FF7200632606 /* boton_regresar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482C10D7FF7200632606 /* boton_regresar2.png */; }; + 2206484A10D7FF7200632606 /* pantalla_keypad_completa1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206482D10D7FF7200632606 /* pantalla_keypad_completa1.jpg */; }; + 2206488210D8CCF700632606 /* bootonAccesoAxtelito.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487610D8CCF700632606 /* bootonAccesoAxtelito.png */; }; + 2206488310D8CCF700632606 /* contactos_gris.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206487710D8CCF700632606 /* contactos_gris.jpg */; }; + 2206488410D8CCF700632606 /* boton_agregar_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487910D8CCF700632606 /* boton_agregar_1.png */; }; + 2206488510D8CCF700632606 /* boton_agregar_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487A10D8CCF700632606 /* boton_agregar_2.png */; }; + 2206488610D8CCF700632606 /* boton_avanzar_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487B10D8CCF700632606 /* boton_avanzar_1.png */; }; + 2206488710D8CCF700632606 /* boton_avanzar_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487C10D8CCF700632606 /* boton_avanzar_2.png */; }; + 2206488810D8CCF700632606 /* boton_editar_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487D10D8CCF700632606 /* boton_editar_1.png */; }; + 2206488910D8CCF700632606 /* boton_editar_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487E10D8CCF700632606 /* boton_editar_2.png */; }; + 2206488A10D8CCF700632606 /* pleca_gris.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487F10D8CCF700632606 /* pleca_gris.png */; }; + 2206488B10D8CCF700632606 /* favoritosgris.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206488010D8CCF700632606 /* favoritosgris.jpg */; }; + 2206488C10D8CCF700632606 /* llamadasrecientes_gris.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206488110D8CCF700632606 /* llamadasrecientes_gris.jpg */; }; 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 */; }; @@ -24,33 +105,230 @@ 2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; }; 2242D91610D66BF300E9963F /* in_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91410D66BF300E9963F /* in_call.png */; }; 2242D91710D66BF300E9963F /* out_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91510D66BF300E9963F /* out_call.png */; }; - 2242D91A10D66C2100E9963F /* mic_active.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91810D66C2100E9963F /* mic_active.png */; }; - 2242D91B10D66C2100E9963F /* mic_muted.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91910D66C2100E9963F /* mic_muted.png */; }; 2242D9C310D68DFD00E9963F /* FavoriteTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2242D9C110D68DFD00E9963F /* FavoriteTableViewController.m */; }; 2242D9C410D68DFD00E9963F /* FavoriteTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */; }; 2242D9C910D691F900E9963F /* GenericTabViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2242D9C810D691F900E9963F /* GenericTabViewController.m */; }; - 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 */; }; + 22527EF410DBB82C00E9915B /* FirstLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22527EF210DBB82C00E9915B /* FirstLoginViewController.m */; }; + 22527EF510DBB82C00E9915B /* FirstLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22527EF310DBB82C00E9915B /* FirstLoginViewController.xib */; }; 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 */; }; 227BCDC210D4004600FBFD76 /* CallHistoryTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 227BCDC010D4004600FBFD76 /* CallHistoryTableViewController.m */; }; 227BCDC310D4004600FBFD76 /* CallHistoryTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */; }; + 229240E510F1FFFE008A8A37 /* boton_1-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 229240E410F1FFFE008A8A37 /* boton_1-2.png */; }; + 229240FA10F2020E008A8A37 /* linphonerc in Resources */ = {isa = PBXBuildFile; fileRef = 2274550710700509006EC466 /* linphonerc */; }; + 229240FB10F2020E008A8A37 /* PhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22F2508D107141E100AC9B3F /* PhoneViewController.xib */; }; + 229240FD10F2020E008A8A37 /* green.png in Resources */ = {isa = PBXBuildFile; fileRef = 22F255131073EEE600AC9B3F /* green.png */; }; + 229240FE10F2020E008A8A37 /* red.png in Resources */ = {isa = PBXBuildFile; fileRef = 22F255141073EEE600AC9B3F /* red.png */; }; + 229240FF10F2020E008A8A37 /* PhoneMainView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */; }; + 2292410310F2020E008A8A37 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; }; + 2292410410F2020E008A8A37 /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; }; + 2292410610F2020E008A8A37 /* IncallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22B5F1E010CFA3C700777D97 /* IncallViewController.xib */; }; + 2292410710F2020E008A8A37 /* CallHistoryTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */; }; + 2292410810F2020E008A8A37 /* in_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91410D66BF300E9963F /* in_call.png */; }; + 2292410910F2020E008A8A37 /* out_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91510D66BF300E9963F /* out_call.png */; }; + 2292410C10F2020E008A8A37 /* FavoriteTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */; }; + 2292410D10F2020E008A8A37 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 220646E010D7C3EC00632606 /* Default.png */; }; + 2292410E10F2020E008A8A37 /* boton_contactos_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471710D7CC4A00632606 /* boton_contactos_1.png */; }; + 2292410F10F2020E008A8A37 /* boton_teclado_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471A10D7CC4A00632606 /* boton_teclado_1.png */; }; + 2292411010F2020E008A8A37 /* boton_recientes_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471C10D7CC4A00632606 /* boton_recientes_1.png */; }; + 2292411110F2020E008A8A37 /* boton_estrella_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206471E10D7CC4A00632606 /* boton_estrella_1.png */; }; + 2292411210F2020E008A8A37 /* boton0_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475210D7CEEF00632606 /* boton0_1.png */; }; + 2292411310F2020E008A8A37 /* boton0_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475310D7CEEF00632606 /* boton0_2.png */; }; + 2292411410F2020E008A8A37 /* boton1_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475410D7CEEF00632606 /* boton1_1.png */; }; + 2292411510F2020E008A8A37 /* boton1_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475510D7CEEF00632606 /* boton1_2.png */; }; + 2292411610F2020E008A8A37 /* boton2_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475610D7CEEF00632606 /* boton2_1.png */; }; + 2292411710F2020E008A8A37 /* boton2_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475710D7CEEF00632606 /* boton2_2.png */; }; + 2292411810F2020E008A8A37 /* boton3_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475810D7CEEF00632606 /* boton3_1.png */; }; + 2292411910F2020E008A8A37 /* boton3_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475910D7CEEF00632606 /* boton3_2.png */; }; + 2292411A10F2020E008A8A37 /* boton4_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475A10D7CEEF00632606 /* boton4_1.png */; }; + 2292411B10F2020E008A8A37 /* boton4_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475B10D7CEEF00632606 /* boton4_2.png */; }; + 2292411C10F2020E008A8A37 /* boton5_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475C10D7CEEF00632606 /* boton5_1.png */; }; + 2292411D10F2020E008A8A37 /* boton5_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475D10D7CEEF00632606 /* boton5_2.png */; }; + 2292411E10F2020E008A8A37 /* boton6_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475E10D7CEEF00632606 /* boton6_1.png */; }; + 2292411F10F2020E008A8A37 /* boton6_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206475F10D7CEEF00632606 /* boton6_2.png */; }; + 2292412010F2020E008A8A37 /* boton7_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476010D7CEEF00632606 /* boton7_1.png */; }; + 2292412110F2020E008A8A37 /* boton7_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476110D7CEEF00632606 /* boton7_2.png */; }; + 2292412210F2020E008A8A37 /* boton8_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476210D7CEEF00632606 /* boton8_1.png */; }; + 2292412310F2020E008A8A37 /* boton8_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476310D7CEEF00632606 /* boton8_2.png */; }; + 2292412410F2020E008A8A37 /* boton9_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476410D7CEEF00632606 /* boton9_1.png */; }; + 2292412510F2020E008A8A37 /* boton9_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476510D7CEEF00632606 /* boton9_2.png */; }; + 2292412610F2020E008A8A37 /* boton_agregarcontactos_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476610D7CEEF00632606 /* boton_agregarcontactos_1.png */; }; + 2292412710F2020E008A8A37 /* boton_agregarcontactos_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476710D7CEEF00632606 /* boton_agregarcontactos_2.png */; }; + 2292412810F2020E008A8A37 /* boton_asterisco_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476810D7CEEF00632606 /* boton_asterisco_1.png */; }; + 2292412910F2020E008A8A37 /* boton_asterisco_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476910D7CEEF00632606 /* boton_asterisco_2.png */; }; + 2292412A10F2020E008A8A37 /* boton_AXTEL_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476A10D7CEEF00632606 /* boton_AXTEL_1.png */; }; + 2292412B10F2020E008A8A37 /* boton_AXTEL_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476B10D7CEEF00632606 /* boton_AXTEL_2.png */; }; + 2292412C10F2020E008A8A37 /* boton_celular_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476C10D7CEEF00632606 /* boton_celular_1.png */; }; + 2292412D10F2020E008A8A37 /* boton_celular_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476D10D7CEEF00632606 /* boton_celular_2.png */; }; + 2292412E10F2020E008A8A37 /* boton_num_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476E10D7CEEF00632606 /* boton_num_1.png */; }; + 2292412F10F2020E008A8A37 /* boton_num_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206476F10D7CEEF00632606 /* boton_num_2.png */; }; + 2292413010F2020E008A8A37 /* flecha_borrar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206477010D7CEEF00632606 /* flecha_borrar1.png */; }; + 2292413110F2020E008A8A37 /* flecha_borrar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206477110D7CEEF00632606 /* flecha_borrar2.png */; }; + 2292413210F2020E008A8A37 /* plecasuperiorconlogo.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206477210D7CEEF00632606 /* plecasuperiorconlogo.png */; }; + 2292413F10F2020E008A8A37 /* boton_0-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481110D7FF7200632606 /* boton_0-1.png */; }; + 2292414010F2020E008A8A37 /* boton_0-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481210D7FF7200632606 /* boton_0-2.png */; }; + 2292414110F2020E008A8A37 /* boton_1-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481310D7FF7200632606 /* boton_1-1.png */; }; + 2292414210F2020E008A8A37 /* boton_2-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481510D7FF7200632606 /* boton_2-1.png */; }; + 2292414310F2020E008A8A37 /* boton_2-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481610D7FF7200632606 /* boton_2-2.png */; }; + 2292414410F2020E008A8A37 /* boton_3-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481710D7FF7200632606 /* boton_3-1.png */; }; + 2292414510F2020E008A8A37 /* boton_3-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481810D7FF7200632606 /* boton_3-2.png */; }; + 2292414610F2020E008A8A37 /* boton_4-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481910D7FF7200632606 /* boton_4-1.png */; }; + 2292414710F2020E008A8A37 /* boton_4-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481A10D7FF7200632606 /* boton_4-2.png */; }; + 2292414810F2020E008A8A37 /* boton_5-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481B10D7FF7200632606 /* boton_5-1.png */; }; + 2292414910F2020E008A8A37 /* boton_5-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481C10D7FF7200632606 /* boton_5-2.png */; }; + 2292414A10F2020E008A8A37 /* boton_6-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481D10D7FF7200632606 /* boton_6-1.png */; }; + 2292414B10F2020E008A8A37 /* boton_6-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481E10D7FF7200632606 /* boton_6-2.png */; }; + 2292414C10F2020E008A8A37 /* boton_7-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206481F10D7FF7200632606 /* boton_7-1.png */; }; + 2292414D10F2020E008A8A37 /* boton_7-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482010D7FF7200632606 /* boton_7-2.png */; }; + 2292414E10F2020E008A8A37 /* boton_8-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482110D7FF7200632606 /* boton_8-1.png */; }; + 2292414F10F2020E008A8A37 /* boton_8-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482210D7FF7200632606 /* boton_8-2.png */; }; + 2292415010F2020E008A8A37 /* boton_9-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482310D7FF7200632606 /* boton_9-1.png */; }; + 2292415110F2020E008A8A37 /* boton_9-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482410D7FF7200632606 /* boton_9-2.png */; }; + 2292415210F2020E008A8A37 /* boton_asterisco-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482510D7FF7200632606 /* boton_asterisco-1.png */; }; + 2292415310F2020E008A8A37 /* boton_asterisco-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482610D7FF7200632606 /* boton_asterisco-2.png */; }; + 2292415410F2020E008A8A37 /* boton_colgar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482710D7FF7200632606 /* boton_colgar1.png */; }; + 2292415510F2020E008A8A37 /* boton_colgar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482810D7FF7200632606 /* boton_colgar2.png */; }; + 2292415610F2020E008A8A37 /* boton_num-1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482910D7FF7200632606 /* boton_num-1.png */; }; + 2292415710F2020E008A8A37 /* boton_num-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482A10D7FF7200632606 /* boton_num-2.png */; }; + 2292415810F2020E008A8A37 /* boton_regresar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482B10D7FF7200632606 /* boton_regresar1.png */; }; + 2292415910F2020E008A8A37 /* boton_regresar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206482C10D7FF7200632606 /* boton_regresar2.png */; }; + 2292415A10F2020E008A8A37 /* pantalla_keypad_completa1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206482D10D7FF7200632606 /* pantalla_keypad_completa1.jpg */; }; + 2292415B10F2020E008A8A37 /* bootonAccesoAxtelito.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487610D8CCF700632606 /* bootonAccesoAxtelito.png */; }; + 2292415C10F2020E008A8A37 /* contactos_gris.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206487710D8CCF700632606 /* contactos_gris.jpg */; }; + 2292415D10F2020E008A8A37 /* boton_agregar_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487910D8CCF700632606 /* boton_agregar_1.png */; }; + 2292415E10F2020E008A8A37 /* boton_agregar_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487A10D8CCF700632606 /* boton_agregar_2.png */; }; + 2292415F10F2020E008A8A37 /* boton_avanzar_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487B10D8CCF700632606 /* boton_avanzar_1.png */; }; + 2292416010F2020E008A8A37 /* boton_avanzar_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487C10D8CCF700632606 /* boton_avanzar_2.png */; }; + 2292416110F2020E008A8A37 /* boton_editar_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487D10D8CCF700632606 /* boton_editar_1.png */; }; + 2292416210F2020E008A8A37 /* boton_editar_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487E10D8CCF700632606 /* boton_editar_2.png */; }; + 2292416310F2020E008A8A37 /* pleca_gris.png in Resources */ = {isa = PBXBuildFile; fileRef = 2206487F10D8CCF700632606 /* pleca_gris.png */; }; + 2292416410F2020E008A8A37 /* favoritosgris.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206488010D8CCF700632606 /* favoritosgris.jpg */; }; + 2292416510F2020E008A8A37 /* llamadasrecientes_gris.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2206488110D8CCF700632606 /* llamadasrecientes_gris.jpg */; }; + 2292416710F2020E008A8A37 /* MoreViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22D0FD2F10DB627B00671BCD /* MoreViewController.xib */; }; + 2292416810F2020E008A8A37 /* FirstLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22527EF310DBB82C00E9915B /* FirstLoginViewController.xib */; }; + 2292416910F2020E008A8A37 /* bot_ok1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1C810DF64490051BAB7 /* bot_ok1.png */; }; + 2292416A10F2020E008A8A37 /* bot_ok2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1C910DF64490051BAB7 /* bot_ok2.png */; }; + 2292416B10F2020E008A8A37 /* bot_borrar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CB10DF64490051BAB7 /* bot_borrar1.png */; }; + 2292416C10F2020E008A8A37 /* bot_borrar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CC10DF64490051BAB7 /* bot_borrar2.png */; }; + 2292416D10F2020E008A8A37 /* boton_mas_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CE10DF64490051BAB7 /* boton_mas_1.png */; }; + 2292416E10F2020E008A8A37 /* boton_mas_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CF10DF64490051BAB7 /* boton_mas_2.png */; }; + 2292416F10F2020E008A8A37 /* axtel_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1DA10DF6A6F0051BAB7 /* axtel_bg.png */; }; + 2292417010F2020E008A8A37 /* boton_1-2.png in Resources */ = {isa = PBXBuildFile; fileRef = 229240E410F1FFFE008A8A37 /* boton_1-2.png */; }; + 2292417210F2020E008A8A37 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; + 2292417310F2020E008A8A37 /* linphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* linphoneAppDelegate.m */; }; + 2292417410F2020E008A8A37 /* PhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* PhoneViewController.m */; }; + 2292417510F2020E008A8A37 /* ContactPickerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */; }; + 2292417610F2020E008A8A37 /* IncallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5F1E810CFD55A00777D97 /* IncallViewController.m */; }; + 2292417710F2020E008A8A37 /* CallHistoryTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 227BCDC010D4004600FBFD76 /* CallHistoryTableViewController.m */; }; + 2292417810F2020E008A8A37 /* FavoriteTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2242D9C110D68DFD00E9963F /* FavoriteTableViewController.m */; }; + 2292417910F2020E008A8A37 /* GenericTabViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2242D9C810D691F900E9963F /* GenericTabViewController.m */; }; + 2292417A10F2020E008A8A37 /* tunnel.cc in Sources */ = {isa = PBXBuildFile; fileRef = 220646AA10D7B90300632606 /* tunnel.cc */; }; + 2292417B10F2020E008A8A37 /* MoreViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D0FD2E10DB627B00671BCD /* MoreViewController.m */; }; + 2292417C10F2020E008A8A37 /* FirstLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22527EF210DBB82C00E9915B /* FirstLoginViewController.m */; }; + 2292417E10F2020E008A8A37 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 2292417F10F2020E008A8A37 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 2292418010F2020E008A8A37 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; + 2292418110F2020E008A8A37 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22744019106F31BD006EC466 /* CoreAudio.framework */; }; + 2292418210F2020E008A8A37 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2274402E106F335E006EC466 /* AudioToolbox.framework */; }; + 2292418310F2020E008A8A37 /* libeXosip2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2810765B400068D98F /* libeXosip2.a */; }; + 2292418410F2020E008A8A37 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2910765B400068D98F /* libgsm.a */; }; + 2292418510F2020E008A8A37 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2A10765B400068D98F /* liblinphone.a */; }; + 2292418610F2020E008A8A37 /* libmediastreamer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2B10765B400068D98F /* libmediastreamer.a */; }; + 2292418710F2020E008A8A37 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2C10765B400068D98F /* libortp.a */; }; + 2292418810F2020E008A8A37 /* libosip2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2D10765B400068D98F /* libosip2.a */; }; + 2292418910F2020E008A8A37 /* libosipparser2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2E10765B400068D98F /* libosipparser2.a */; }; + 2292418A10F2020E008A8A37 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2F10765B400068D98F /* libspeex.a */; }; + 2292418B10F2020E008A8A37 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD3010765B400068D98F /* libspeexdsp.a */; }; + 2292418C10F2020E008A8A37 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; }; + 2292418D10F2020E008A8A37 /* libmsiounit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2273785D10A3703300526073 /* libmsiounit.a */; }; + 2292418E10F2020E008A8A37 /* AddressBookUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */; }; + 2292418F10F2020E008A8A37 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5F03410CE6B2F00777D97 /* AddressBook.framework */; }; + 2292419010F2020E008A8A37 /* libaxtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220646EC10D7C5E300632606 /* libaxtunnel.a */; }; + 2292419110F2020E008A8A37 /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220646F110D7C62600632606 /* libssl.a */; }; + 2292419210F2020E008A8A37 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220646F210D7C62600632606 /* libcrypto.a */; }; + 2292425B10F21C4A008A8A37 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2292424910F21C25008A8A37 /* Settings.bundle */; }; + 229242BC10F2298C008A8A37 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 229242BB10F2298C008A8A37 /* SystemConfiguration.framework */; }; + 229242C010F229AD008A8A37 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 229242BF10F229AD008A8A37 /* SystemConfiguration.framework */; }; + 229C9EC411084180001BB43E /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 229C9EC311084180001BB43E /* Settings.bundle */; }; + 229C9F9D11098DEC001BB43E /* auroc-Off.png in Resources */ = {isa = PBXBuildFile; fileRef = 229C9F9B11098DEC001BB43E /* auroc-Off.png */; }; + 229C9F9E11098DEC001BB43E /* auroc-On.png in Resources */ = {isa = PBXBuildFile; fileRef = 229C9F9C11098DEC001BB43E /* auroc-On.png */; }; + 229C9F9F11098DEC001BB43E /* auroc-Off.png in Resources */ = {isa = PBXBuildFile; fileRef = 229C9F9B11098DEC001BB43E /* auroc-Off.png */; }; + 229C9FA011098DEC001BB43E /* auroc-On.png in Resources */ = {isa = PBXBuildFile; fileRef = 229C9F9C11098DEC001BB43E /* auroc-On.png */; }; + 229C9FFB110D83E8001BB43E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 229C9FFA110D83E8001BB43E /* Localizable.strings */; }; + 229C9FFC110D83E8001BB43E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 229C9FFA110D83E8001BB43E /* Localizable.strings */; }; + 22A3EBE2110077DA002241E2 /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22A3EBE0110077DA002241E2 /* AboutViewController.m */; }; + 22A3EBE3110077DA002241E2 /* AboutViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22A3EBE1110077DA002241E2 /* AboutViewController.xib */; }; + 22A3EBE4110077DA002241E2 /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22A3EBE0110077DA002241E2 /* AboutViewController.m */; }; + 22A3EBE5110077DA002241E2 /* AboutViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22A3EBE1110077DA002241E2 /* AboutViewController.xib */; }; + 22A3EC1111007A27002241E2 /* ConsoleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22A3EC0F11007A27002241E2 /* ConsoleViewController.m */; }; + 22A3EC1211007A27002241E2 /* ConsoleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22A3EC1011007A27002241E2 /* ConsoleViewController.xib */; }; + 22A3EC1311007A27002241E2 /* ConsoleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22A3EC0F11007A27002241E2 /* ConsoleViewController.m */; }; + 22A3EC1411007A27002241E2 /* ConsoleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22A3EC1011007A27002241E2 /* ConsoleViewController.xib */; }; + 22B44E0A10F477E8005A07E6 /* faded Screen.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 22B44E0910F477E8005A07E6 /* faded Screen.jpg */; }; + 22B44E3F10F4882F005A07E6 /* faded Screen.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 22B44E0910F477E8005A07E6 /* faded Screen.jpg */; }; + 22B44E6810F4AB5A005A07E6 /* FavoriteEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B44E6710F4AB5A005A07E6 /* FavoriteEditViewController.m */; }; + 22B44E6910F4AB5A005A07E6 /* FavoriteEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B44E6710F4AB5A005A07E6 /* FavoriteEditViewController.m */; }; + 22B44E6C10F4AEE0005A07E6 /* FavoriteEditViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22B44E6B10F4AEE0005A07E6 /* FavoriteEditViewController.xib */; }; + 22B44E6D10F4AEE0005A07E6 /* FavoriteEditViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22B44E6B10F4AEE0005A07E6 /* FavoriteEditViewController.xib */; }; + 22B4506610F5D391005A07E6 /* about.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506510F5D391005A07E6 /* about.jpg */; }; + 22B4506710F5D391005A07E6 /* about.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506510F5D391005A07E6 /* about.jpg */; }; + 22B4507710F5D66A005A07E6 /* boton_colgar.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506910F5D66A005A07E6 /* boton_colgar.png */; }; + 22B4507810F5D66A005A07E6 /* corner_der.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506A10F5D66A005A07E6 /* corner_der.png */; }; + 22B4507910F5D66A005A07E6 /* corner_izq.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506B10F5D66A005A07E6 /* corner_izq.png */; }; + 22B4507A10F5D66A005A07E6 /* fondo_gris_botones.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506C10F5D66A005A07E6 /* fondo_gris_botones.png */; }; + 22B4507B10F5D66A005A07E6 /* icono_altavoz_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506D10F5D66A005A07E6 /* icono_altavoz_1.png */; }; + 22B4507C10F5D66A005A07E6 /* icono_altavoz_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506E10F5D66A005A07E6 /* icono_altavoz_2.png */; }; + 22B4507D10F5D66A005A07E6 /* icono_contactos_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506F10F5D66A005A07E6 /* icono_contactos_1.png */; }; + 22B4507E10F5D66A005A07E6 /* icono_contactos_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507010F5D66A005A07E6 /* icono_contactos_2.png */; }; + 22B4507F10F5D66A005A07E6 /* icono_silencio_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507110F5D66A005A07E6 /* icono_silencio_1.png */; }; + 22B4508010F5D66A005A07E6 /* icono_silencio_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507210F5D66A005A07E6 /* icono_silencio_2.png */; }; + 22B4508110F5D66A005A07E6 /* icono_teclado_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507310F5D66A005A07E6 /* icono_teclado_1.png */; }; + 22B4508210F5D66A005A07E6 /* icono_teclado_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507410F5D66A005A07E6 /* icono_teclado_2.png */; }; + 22B4508310F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507510F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg */; }; + 22B4508410F5D66A005A07E6 /* pleca_gris.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507610F5D66A005A07E6 /* pleca_gris.png */; }; + 22B4508510F5D66A005A07E6 /* boton_colgar.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506910F5D66A005A07E6 /* boton_colgar.png */; }; + 22B4508610F5D66A005A07E6 /* corner_der.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506A10F5D66A005A07E6 /* corner_der.png */; }; + 22B4508710F5D66A005A07E6 /* corner_izq.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506B10F5D66A005A07E6 /* corner_izq.png */; }; + 22B4508810F5D66A005A07E6 /* fondo_gris_botones.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506C10F5D66A005A07E6 /* fondo_gris_botones.png */; }; + 22B4508910F5D66A005A07E6 /* icono_altavoz_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506D10F5D66A005A07E6 /* icono_altavoz_1.png */; }; + 22B4508A10F5D66A005A07E6 /* icono_altavoz_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506E10F5D66A005A07E6 /* icono_altavoz_2.png */; }; + 22B4508B10F5D66A005A07E6 /* icono_contactos_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4506F10F5D66A005A07E6 /* icono_contactos_1.png */; }; + 22B4508C10F5D66A005A07E6 /* icono_contactos_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507010F5D66A005A07E6 /* icono_contactos_2.png */; }; + 22B4508D10F5D66A005A07E6 /* icono_silencio_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507110F5D66A005A07E6 /* icono_silencio_1.png */; }; + 22B4508E10F5D66A005A07E6 /* icono_silencio_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507210F5D66A005A07E6 /* icono_silencio_2.png */; }; + 22B4508F10F5D66A005A07E6 /* icono_teclado_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507310F5D66A005A07E6 /* icono_teclado_1.png */; }; + 22B4509010F5D66A005A07E6 /* icono_teclado_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507410F5D66A005A07E6 /* icono_teclado_2.png */; }; + 22B4509110F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507510F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg */; }; + 22B4509210F5D66A005A07E6 /* pleca_gris.png in Resources */ = {isa = PBXBuildFile; fileRef = 22B4507610F5D66A005A07E6 /* pleca_gris.png */; }; 22B5EFA310CE50BD00777D97 /* AddressBookUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */; }; 22B5EFE510CE5E5800777D97 /* ContactPickerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */; }; 22B5F03510CE6B2F00777D97 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5F03410CE6B2F00777D97 /* AddressBook.framework */; }; 22B5F1E110CFA3C700777D97 /* IncallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22B5F1E010CFA3C700777D97 /* IncallViewController.xib */; }; 22B5F1EA10CFD55A00777D97 /* IncallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5F1E810CFD55A00777D97 /* IncallViewController.m */; }; + 22D0FD3010DB627B00671BCD /* MoreViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D0FD2E10DB627B00671BCD /* MoreViewController.m */; }; + 22D0FD3110DB627B00671BCD /* MoreViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22D0FD2F10DB627B00671BCD /* MoreViewController.xib */; }; + 22DAF1D010DF64490051BAB7 /* bot_ok1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1C810DF64490051BAB7 /* bot_ok1.png */; }; + 22DAF1D110DF64490051BAB7 /* bot_ok2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1C910DF64490051BAB7 /* bot_ok2.png */; }; + 22DAF1D210DF64490051BAB7 /* bot_borrar1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CB10DF64490051BAB7 /* bot_borrar1.png */; }; + 22DAF1D310DF64490051BAB7 /* bot_borrar2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CC10DF64490051BAB7 /* bot_borrar2.png */; }; + 22DAF1D410DF64490051BAB7 /* boton_mas_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CE10DF64490051BAB7 /* boton_mas_1.png */; }; + 22DAF1D510DF64490051BAB7 /* boton_mas_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1CF10DF64490051BAB7 /* boton_mas_2.png */; }; + 22DAF1DB10DF6A6F0051BAB7 /* axtel_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 22DAF1DA10DF6A6F0051BAB7 /* axtel_bg.png */; }; 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 */; }; + 22FAD379110E065100E2BA6A /* decodetable.cc in Sources */ = {isa = PBXBuildFile; fileRef = 22B44F8A10F4E519005A07E6 /* decodetable.cc */; }; + 22FAD37A110E065100E2BA6A /* codechecker.hh in Headers */ = {isa = PBXBuildFile; fileRef = 22B44F8C10F4E519005A07E6 /* codechecker.hh */; }; + 22FAD37B110E065100E2BA6A /* codechecker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 22B44F8D10F4E519005A07E6 /* codechecker.cc */; }; + 22FAD37C110E065100E2BA6A /* bitlib.hh in Headers */ = {isa = PBXBuildFile; fileRef = 22B44F8E10F4E519005A07E6 /* bitlib.hh */; }; + 22FAD37D110E065100E2BA6A /* bitlib.cc in Sources */ = {isa = PBXBuildFile; fileRef = 22B44F8F10F4E519005A07E6 /* bitlib.cc */; }; + 22FAD393110E06D800E2BA6A /* libkeydecoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */; }; + 22FAD394110E06E500E2BA6A /* libkeydecoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */; }; 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; /* End PBXBuildFile section */ @@ -58,8 +336,89 @@ 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; }; + 1D6058910D05DD3D006BFB54 /* axphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = axphone.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 220646AA10D7B90300632606 /* tunnel.cc */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; name = tunnel.cc; path = Classes/tunnel.cc; sourceTree = ""; }; + 220646E010D7C3EC00632606 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + 220646EC10D7C5E300632606 /* libaxtunnel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaxtunnel.a; path = "../liblinphone-sdk/armv6-apple-darwin/lib/libaxtunnel.a"; sourceTree = SOURCE_ROOT; }; + 220646F110D7C62600632606 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = "../liblinphone-sdk/armv6-apple-darwin/lib/libssl.a"; sourceTree = SOURCE_ROOT; }; + 220646F210D7C62600632606 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = "../liblinphone-sdk/armv6-apple-darwin/lib/libcrypto.a"; sourceTree = SOURCE_ROOT; }; + 2206471710D7CC4A00632606 /* boton_contactos_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = boton_contactos_1.png; path = "Elements for the Dialpad/barra inferior/boton_contactos_1.png"; sourceTree = ""; }; + 2206471A10D7CC4A00632606 /* boton_teclado_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = boton_teclado_1.png; path = "Elements for the Dialpad/barra inferior/boton_teclado_1.png"; sourceTree = ""; }; + 2206471C10D7CC4A00632606 /* boton_recientes_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = boton_recientes_1.png; path = "Elements for the Dialpad/barra inferior/boton_recientes_1.png"; sourceTree = ""; }; + 2206471E10D7CC4A00632606 /* boton_estrella_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = boton_estrella_1.png; path = "Elements for the Dialpad/barra inferior/boton_estrella_1.png"; sourceTree = ""; }; + 2206475210D7CEEF00632606 /* boton0_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton0_1.png; sourceTree = ""; }; + 2206475310D7CEEF00632606 /* boton0_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton0_2.png; sourceTree = ""; }; + 2206475410D7CEEF00632606 /* boton1_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton1_1.png; sourceTree = ""; }; + 2206475510D7CEEF00632606 /* boton1_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton1_2.png; sourceTree = ""; }; + 2206475610D7CEEF00632606 /* boton2_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton2_1.png; sourceTree = ""; }; + 2206475710D7CEEF00632606 /* boton2_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton2_2.png; sourceTree = ""; }; + 2206475810D7CEEF00632606 /* boton3_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton3_1.png; sourceTree = ""; }; + 2206475910D7CEEF00632606 /* boton3_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton3_2.png; sourceTree = ""; }; + 2206475A10D7CEEF00632606 /* boton4_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton4_1.png; sourceTree = ""; }; + 2206475B10D7CEEF00632606 /* boton4_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton4_2.png; sourceTree = ""; }; + 2206475C10D7CEEF00632606 /* boton5_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton5_1.png; sourceTree = ""; }; + 2206475D10D7CEEF00632606 /* boton5_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton5_2.png; sourceTree = ""; }; + 2206475E10D7CEEF00632606 /* boton6_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton6_1.png; sourceTree = ""; }; + 2206475F10D7CEEF00632606 /* boton6_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton6_2.png; sourceTree = ""; }; + 2206476010D7CEEF00632606 /* boton7_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton7_1.png; sourceTree = ""; }; + 2206476110D7CEEF00632606 /* boton7_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton7_2.png; sourceTree = ""; }; + 2206476210D7CEEF00632606 /* boton8_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton8_1.png; sourceTree = ""; }; + 2206476310D7CEEF00632606 /* boton8_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton8_2.png; sourceTree = ""; }; + 2206476410D7CEEF00632606 /* boton9_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton9_1.png; sourceTree = ""; }; + 2206476510D7CEEF00632606 /* boton9_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton9_2.png; sourceTree = ""; }; + 2206476610D7CEEF00632606 /* boton_agregarcontactos_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_agregarcontactos_1.png; sourceTree = ""; }; + 2206476710D7CEEF00632606 /* boton_agregarcontactos_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_agregarcontactos_2.png; sourceTree = ""; }; + 2206476810D7CEEF00632606 /* boton_asterisco_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_asterisco_1.png; sourceTree = ""; }; + 2206476910D7CEEF00632606 /* boton_asterisco_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_asterisco_2.png; sourceTree = ""; }; + 2206476A10D7CEEF00632606 /* boton_AXTEL_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_AXTEL_1.png; sourceTree = ""; }; + 2206476B10D7CEEF00632606 /* boton_AXTEL_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_AXTEL_2.png; sourceTree = ""; }; + 2206476C10D7CEEF00632606 /* boton_celular_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_celular_1.png; sourceTree = ""; }; + 2206476D10D7CEEF00632606 /* boton_celular_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_celular_2.png; sourceTree = ""; }; + 2206476E10D7CEEF00632606 /* boton_num_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_num_1.png; sourceTree = ""; }; + 2206476F10D7CEEF00632606 /* boton_num_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_num_2.png; sourceTree = ""; }; + 2206477010D7CEEF00632606 /* flecha_borrar1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = flecha_borrar1.png; sourceTree = ""; }; + 2206477110D7CEEF00632606 /* flecha_borrar2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = flecha_borrar2.png; sourceTree = ""; }; + 2206477210D7CEEF00632606 /* plecasuperiorconlogo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = plecasuperiorconlogo.png; sourceTree = ""; }; + 2206481110D7FF7200632606 /* boton_0-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_0-1.png"; sourceTree = ""; }; + 2206481210D7FF7200632606 /* boton_0-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_0-2.png"; sourceTree = ""; }; + 2206481310D7FF7200632606 /* boton_1-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_1-1.png"; sourceTree = ""; }; + 2206481510D7FF7200632606 /* boton_2-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_2-1.png"; sourceTree = ""; }; + 2206481610D7FF7200632606 /* boton_2-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_2-2.png"; sourceTree = ""; }; + 2206481710D7FF7200632606 /* boton_3-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_3-1.png"; sourceTree = ""; }; + 2206481810D7FF7200632606 /* boton_3-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_3-2.png"; sourceTree = ""; }; + 2206481910D7FF7200632606 /* boton_4-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_4-1.png"; sourceTree = ""; }; + 2206481A10D7FF7200632606 /* boton_4-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_4-2.png"; sourceTree = ""; }; + 2206481B10D7FF7200632606 /* boton_5-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_5-1.png"; sourceTree = ""; }; + 2206481C10D7FF7200632606 /* boton_5-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_5-2.png"; sourceTree = ""; }; + 2206481D10D7FF7200632606 /* boton_6-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_6-1.png"; sourceTree = ""; }; + 2206481E10D7FF7200632606 /* boton_6-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_6-2.png"; sourceTree = ""; }; + 2206481F10D7FF7200632606 /* boton_7-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_7-1.png"; sourceTree = ""; }; + 2206482010D7FF7200632606 /* boton_7-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_7-2.png"; sourceTree = ""; }; + 2206482110D7FF7200632606 /* boton_8-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_8-1.png"; sourceTree = ""; }; + 2206482210D7FF7200632606 /* boton_8-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_8-2.png"; sourceTree = ""; }; + 2206482310D7FF7200632606 /* boton_9-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_9-1.png"; sourceTree = ""; }; + 2206482410D7FF7200632606 /* boton_9-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_9-2.png"; sourceTree = ""; }; + 2206482510D7FF7200632606 /* boton_asterisco-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_asterisco-1.png"; sourceTree = ""; }; + 2206482610D7FF7200632606 /* boton_asterisco-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_asterisco-2.png"; sourceTree = ""; }; + 2206482710D7FF7200632606 /* boton_colgar1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_colgar1.png; sourceTree = ""; }; + 2206482810D7FF7200632606 /* boton_colgar2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_colgar2.png; sourceTree = ""; }; + 2206482910D7FF7200632606 /* boton_num-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_num-1.png"; sourceTree = ""; }; + 2206482A10D7FF7200632606 /* boton_num-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_num-2.png"; sourceTree = ""; }; + 2206482B10D7FF7200632606 /* boton_regresar1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_regresar1.png; sourceTree = ""; }; + 2206482C10D7FF7200632606 /* boton_regresar2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_regresar2.png; sourceTree = ""; }; + 2206482D10D7FF7200632606 /* pantalla_keypad_completa1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = pantalla_keypad_completa1.jpg; sourceTree = ""; }; + 2206487610D8CCF700632606 /* bootonAccesoAxtelito.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bootonAccesoAxtelito.png; sourceTree = ""; }; + 2206487710D8CCF700632606 /* contactos_gris.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = contactos_gris.jpg; sourceTree = ""; }; + 2206487910D8CCF700632606 /* boton_agregar_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_agregar_1.png; sourceTree = ""; }; + 2206487A10D8CCF700632606 /* boton_agregar_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_agregar_2.png; sourceTree = ""; }; + 2206487B10D8CCF700632606 /* boton_avanzar_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_avanzar_1.png; sourceTree = ""; }; + 2206487C10D8CCF700632606 /* boton_avanzar_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_avanzar_2.png; sourceTree = ""; }; + 2206487D10D8CCF700632606 /* boton_editar_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_editar_1.png; sourceTree = ""; }; + 2206487E10D8CCF700632606 /* boton_editar_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_editar_2.png; sourceTree = ""; }; + 2206487F10D8CCF700632606 /* pleca_gris.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pleca_gris.png; sourceTree = ""; }; + 2206488010D8CCF700632606 /* favoritosgris.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = favoritosgris.jpg; sourceTree = ""; }; + 2206488110D8CCF700632606 /* llamadasrecientes_gris.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = llamadasrecientes_gris.jpg; sourceTree = ""; }; 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 = ""; }; @@ -186,31 +545,71 @@ 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; name = "oldphone-mono.wav"; path = "rings/oldphone-mono.wav"; sourceTree = ""; }; + 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PhoneMainView.xib; path = ../PhoneMainView.xib; sourceTree = ""; }; + 2237D4081084D7A9001383EE /* oldphone-mono.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "oldphone-mono.wav"; sourceTree = ""; }; 2242D91410D66BF300E9963F /* in_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = in_call.png; sourceTree = ""; }; 2242D91510D66BF300E9963F /* out_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = out_call.png; sourceTree = ""; }; - 2242D91810D66C2100E9963F /* mic_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mic_active.png; path = ../linphone/pixmaps/mic_active.png; sourceTree = SOURCE_ROOT; }; - 2242D91910D66C2100E9963F /* mic_muted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mic_muted.png; path = ../linphone/pixmaps/mic_muted.png; sourceTree = SOURCE_ROOT; }; 2242D9C010D68DFD00E9963F /* FavoriteTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FavoriteTableViewController.h; sourceTree = ""; }; 2242D9C110D68DFD00E9963F /* FavoriteTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FavoriteTableViewController.m; sourceTree = ""; }; 2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FavoriteTableViewController.xib; sourceTree = ""; }; 2242D9C710D691F900E9963F /* GenericTabViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GenericTabViewController.h; sourceTree = ""; }; 2242D9C810D691F900E9963F /* GenericTabViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GenericTabViewController.m; sourceTree = ""; }; - 2245667710768B7300F10948 /* linphone2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone2.png; path = ../linphone/pixmaps/linphone2.png; sourceTree = SOURCE_ROOT; }; - 2245667910768B9000F10948 /* linphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone.png; path = ../linphone/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; }; + 22527EF110DBB82C00E9915B /* FirstLoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstLoginViewController.h; sourceTree = ""; }; + 22527EF210DBB82C00E9915B /* FirstLoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstLoginViewController.m; sourceTree = ""; }; + 22527EF310DBB82C00E9915B /* FirstLoginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FirstLoginViewController.xib; sourceTree = ""; }; 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; name = oldphone.wav; path = rings/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 = ""; }; + 2274550710700509006EC466 /* linphonerc */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; name = linphonerc; path = ../linphonerc; sourceTree = ""; }; 227BCDBF10D4004600FBFD76 /* CallHistoryTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallHistoryTableViewController.h; sourceTree = ""; }; 227BCDC010D4004600FBFD76 /* CallHistoryTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CallHistoryTableViewController.m; sourceTree = ""; }; 227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CallHistoryTableViewController.xib; sourceTree = ""; }; + 228B040410DB95BD0061FE68 /* client.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = client.hh; sourceTree = ""; }; + 228B040510DB95BD0061FE68 /* common.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = common.hh; sourceTree = ""; }; + 229240E410F1FFFE008A8A37 /* boton_1-2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_1-2.png"; sourceTree = ""; }; + 2292419710F2020E008A8A37 /* axphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = axphone.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 2292419910F2020E008A8A37 /* linphone-advanced-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "linphone-advanced-Info.plist"; sourceTree = SOURCE_ROOT; }; + 2292424910F21C25008A8A37 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + 229242BB10F2298C008A8A37 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 229242BF10F229AD008A8A37 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 229C9EC311084180001BB43E /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + 229C9F9B11098DEC001BB43E /* auroc-Off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "auroc-Off.png"; path = "Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-Off.png"; sourceTree = SOURCE_ROOT; }; + 229C9F9C11098DEC001BB43E /* auroc-On.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "auroc-On.png"; path = "Resources/Elements for the Dialpad/elementos separados Dialpad/auroc-On.png"; sourceTree = SOURCE_ROOT; }; + 229C9FF7110D83C8001BB43E /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; + 229CA00D110D848E001BB43E /* Spanish */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = Spanish; path = Spanish.lproj/Localizable.strings; sourceTree = ""; }; + 22A3EBDF110077DA002241E2 /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutViewController.h; sourceTree = ""; }; + 22A3EBE0110077DA002241E2 /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutViewController.m; sourceTree = ""; }; + 22A3EBE1110077DA002241E2 /* AboutViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AboutViewController.xib; sourceTree = ""; }; + 22A3EC0E11007A27002241E2 /* ConsoleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConsoleViewController.h; sourceTree = ""; }; + 22A3EC0F11007A27002241E2 /* ConsoleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConsoleViewController.m; sourceTree = ""; }; + 22A3EC1011007A27002241E2 /* ConsoleViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ConsoleViewController.xib; sourceTree = ""; }; + 22B44E0910F477E8005A07E6 /* faded Screen.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "faded Screen.jpg"; sourceTree = ""; }; + 22B44E6610F4AB5A005A07E6 /* FavoriteEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FavoriteEditViewController.h; sourceTree = ""; }; + 22B44E6710F4AB5A005A07E6 /* FavoriteEditViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FavoriteEditViewController.m; sourceTree = ""; }; + 22B44E6B10F4AEE0005A07E6 /* FavoriteEditViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FavoriteEditViewController.xib; sourceTree = ""; }; + 22B44F8A10F4E519005A07E6 /* decodetable.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decodetable.cc; sourceTree = ""; }; + 22B44F8C10F4E519005A07E6 /* codechecker.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = codechecker.hh; sourceTree = ""; }; + 22B44F8D10F4E519005A07E6 /* codechecker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = codechecker.cc; sourceTree = ""; }; + 22B44F8E10F4E519005A07E6 /* bitlib.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bitlib.hh; sourceTree = ""; }; + 22B44F8F10F4E519005A07E6 /* bitlib.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bitlib.cc; sourceTree = ""; }; + 22B4506510F5D391005A07E6 /* about.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = about.jpg; sourceTree = ""; }; + 22B4506910F5D66A005A07E6 /* boton_colgar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_colgar.png; sourceTree = ""; }; + 22B4506A10F5D66A005A07E6 /* corner_der.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = corner_der.png; sourceTree = ""; }; + 22B4506B10F5D66A005A07E6 /* corner_izq.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = corner_izq.png; sourceTree = ""; }; + 22B4506C10F5D66A005A07E6 /* fondo_gris_botones.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = fondo_gris_botones.png; sourceTree = ""; }; + 22B4506D10F5D66A005A07E6 /* icono_altavoz_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_altavoz_1.png; sourceTree = ""; }; + 22B4506E10F5D66A005A07E6 /* icono_altavoz_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_altavoz_2.png; sourceTree = ""; }; + 22B4506F10F5D66A005A07E6 /* icono_contactos_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_contactos_1.png; sourceTree = ""; }; + 22B4507010F5D66A005A07E6 /* icono_contactos_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_contactos_2.png; sourceTree = ""; }; + 22B4507110F5D66A005A07E6 /* icono_silencio_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_silencio_1.png; sourceTree = ""; }; + 22B4507210F5D66A005A07E6 /* icono_silencio_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_silencio_2.png; sourceTree = ""; }; + 22B4507310F5D66A005A07E6 /* icono_teclado_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_teclado_1.png; sourceTree = ""; }; + 22B4507410F5D66A005A07E6 /* icono_teclado_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icono_teclado_2.png; sourceTree = ""; }; + 22B4507510F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = llamadaactiva_negroyrojo.jpg; sourceTree = ""; }; + 22B4507610F5D66A005A07E6 /* pleca_gris.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pleca_gris.png; sourceTree = ""; }; 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; 22B5EFE310CE5E5800777D97 /* ContactPickerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactPickerDelegate.h; sourceTree = ""; }; 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactPickerDelegate.m; sourceTree = ""; }; @@ -218,17 +617,27 @@ 22B5F1E010CFA3C700777D97 /* IncallViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IncallViewController.xib; sourceTree = ""; }; 22B5F1E710CFD55A00777D97 /* IncallViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IncallViewController.h; sourceTree = ""; }; 22B5F1E810CFD55A00777D97 /* IncallViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IncallViewController.m; sourceTree = ""; }; + 22D0FD2D10DB627B00671BCD /* MoreViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoreViewController.h; sourceTree = ""; }; + 22D0FD2E10DB627B00671BCD /* MoreViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MoreViewController.m; sourceTree = ""; }; + 22D0FD2F10DB627B00671BCD /* MoreViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MoreViewController.xib; sourceTree = ""; }; + 22DAF1C810DF64490051BAB7 /* bot_ok1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bot_ok1.png; sourceTree = ""; }; + 22DAF1C910DF64490051BAB7 /* bot_ok2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bot_ok2.png; sourceTree = ""; }; + 22DAF1CB10DF64490051BAB7 /* bot_borrar1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bot_borrar1.png; sourceTree = ""; }; + 22DAF1CC10DF64490051BAB7 /* bot_borrar2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bot_borrar2.png; sourceTree = ""; }; + 22DAF1CE10DF64490051BAB7 /* boton_mas_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_mas_1.png; sourceTree = ""; }; + 22DAF1CF10DF64490051BAB7 /* boton_mas_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_mas_2.png; sourceTree = ""; }; + 22DAF1DA10DF6A6F0051BAB7 /* axtel_bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = axtel_bg.png; 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; path = PhoneViewController.xib; sourceTree = ""; }; - 22F254801073D99800AC9B3F /* ringback.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringback.wav; path = ../linphone/share/ringback.wav; sourceTree = SOURCE_ROOT; }; 22F255131073EEE600AC9B3F /* green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = green.png; path = ../linphone/pixmaps/green.png; sourceTree = SOURCE_ROOT; }; 22F255141073EEE600AC9B3F /* red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = red.png; path = ../linphone/pixmaps/red.png; sourceTree = SOURCE_ROOT; }; 22F51EF5107FA66500F98953 /* untitled.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = untitled.plist; sourceTree = ""; }; + 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libkeydecoder.a; sourceTree = BUILT_PRODUCTS_DIR; }; 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 = ""; }; + 8D1107310486CEB800E47090 /* linphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "linphone-Info.plist"; path = "../linphone-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -254,6 +663,48 @@ 2273785E10A3703300526073 /* libmsiounit.a in Frameworks */, 22B5EFA310CE50BD00777D97 /* AddressBookUI.framework in Frameworks */, 22B5F03510CE6B2F00777D97 /* AddressBook.framework in Frameworks */, + 220646ED10D7C5E300632606 /* libaxtunnel.a in Frameworks */, + 220646F310D7C62600632606 /* libssl.a in Frameworks */, + 220646F410D7C62600632606 /* libcrypto.a in Frameworks */, + 229242BC10F2298C008A8A37 /* SystemConfiguration.framework in Frameworks */, + 22FAD394110E06E500E2BA6A /* libkeydecoder.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2292417D10F2020E008A8A37 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2292417E10F2020E008A8A37 /* Foundation.framework in Frameworks */, + 2292417F10F2020E008A8A37 /* UIKit.framework in Frameworks */, + 2292418010F2020E008A8A37 /* CoreGraphics.framework in Frameworks */, + 2292418110F2020E008A8A37 /* CoreAudio.framework in Frameworks */, + 2292418210F2020E008A8A37 /* AudioToolbox.framework in Frameworks */, + 2292418310F2020E008A8A37 /* libeXosip2.a in Frameworks */, + 2292418410F2020E008A8A37 /* libgsm.a in Frameworks */, + 2292418510F2020E008A8A37 /* liblinphone.a in Frameworks */, + 2292418610F2020E008A8A37 /* libmediastreamer.a in Frameworks */, + 2292418710F2020E008A8A37 /* libortp.a in Frameworks */, + 2292418810F2020E008A8A37 /* libosip2.a in Frameworks */, + 2292418910F2020E008A8A37 /* libosipparser2.a in Frameworks */, + 2292418A10F2020E008A8A37 /* libspeex.a in Frameworks */, + 2292418B10F2020E008A8A37 /* libspeexdsp.a in Frameworks */, + 2292418C10F2020E008A8A37 /* AVFoundation.framework in Frameworks */, + 2292418D10F2020E008A8A37 /* libmsiounit.a in Frameworks */, + 2292418E10F2020E008A8A37 /* AddressBookUI.framework in Frameworks */, + 2292418F10F2020E008A8A37 /* AddressBook.framework in Frameworks */, + 2292419010F2020E008A8A37 /* libaxtunnel.a in Frameworks */, + 2292419110F2020E008A8A37 /* libssl.a in Frameworks */, + 2292419210F2020E008A8A37 /* libcrypto.a in Frameworks */, + 229242C010F229AD008A8A37 /* SystemConfiguration.framework in Frameworks */, + 22FAD393110E06D800E2BA6A /* libkeydecoder.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 22FAD36E110E05FC00E2BA6A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); runOnlyForDeploymentPostprocessing = 0; }; @@ -263,6 +714,11 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( + 22B44F8A10F4E519005A07E6 /* decodetable.cc */, + 22B44F8C10F4E519005A07E6 /* codechecker.hh */, + 22B44F8D10F4E519005A07E6 /* codechecker.cc */, + 22B44F8E10F4E519005A07E6 /* bitlib.hh */, + 22B44F8F10F4E519005A07E6 /* bitlib.cc */, 1D3623240D0F684500981E51 /* linphoneAppDelegate.h */, 1D3623250D0F684500981E51 /* linphoneAppDelegate.m */, 22F2508B107141E100AC9B3F /* PhoneViewController.h */, @@ -281,6 +737,21 @@ 2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */, 2242D9C710D691F900E9963F /* GenericTabViewController.h */, 2242D9C810D691F900E9963F /* GenericTabViewController.m */, + 22D0FD2D10DB627B00671BCD /* MoreViewController.h */, + 22D0FD2E10DB627B00671BCD /* MoreViewController.m */, + 22D0FD2F10DB627B00671BCD /* MoreViewController.xib */, + 22527EF110DBB82C00E9915B /* FirstLoginViewController.h */, + 22527EF210DBB82C00E9915B /* FirstLoginViewController.m */, + 22527EF310DBB82C00E9915B /* FirstLoginViewController.xib */, + 22B44E6610F4AB5A005A07E6 /* FavoriteEditViewController.h */, + 22B44E6710F4AB5A005A07E6 /* FavoriteEditViewController.m */, + 22B44E6B10F4AEE0005A07E6 /* FavoriteEditViewController.xib */, + 22A3EBDF110077DA002241E2 /* AboutViewController.h */, + 22A3EBE0110077DA002241E2 /* AboutViewController.m */, + 22A3EBE1110077DA002241E2 /* AboutViewController.xib */, + 22A3EC0E11007A27002241E2 /* ConsoleViewController.h */, + 22A3EC0F11007A27002241E2 /* ConsoleViewController.m */, + 22A3EC1011007A27002241E2 /* ConsoleViewController.xib */, ); path = Classes; sourceTree = ""; @@ -288,14 +759,133 @@ 19C28FACFE9D520D11CA2CBB /* Products */ = { isa = PBXGroup; children = ( - 1D6058910D05DD3D006BFB54 /* linphone.app */, + 1D6058910D05DD3D006BFB54 /* axphone.app */, + 2292419710F2020E008A8A37 /* axphone.app */, + 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */, ); name = Products; sourceTree = ""; }; + 2206475110D7CEEF00632606 /* elementos separados Dialpad */ = { + isa = PBXGroup; + children = ( + 2206475210D7CEEF00632606 /* boton0_1.png */, + 2206475310D7CEEF00632606 /* boton0_2.png */, + 2206475410D7CEEF00632606 /* boton1_1.png */, + 2206475510D7CEEF00632606 /* boton1_2.png */, + 2206475610D7CEEF00632606 /* boton2_1.png */, + 2206475710D7CEEF00632606 /* boton2_2.png */, + 2206475810D7CEEF00632606 /* boton3_1.png */, + 2206475910D7CEEF00632606 /* boton3_2.png */, + 2206475A10D7CEEF00632606 /* boton4_1.png */, + 2206475B10D7CEEF00632606 /* boton4_2.png */, + 2206475C10D7CEEF00632606 /* boton5_1.png */, + 2206475D10D7CEEF00632606 /* boton5_2.png */, + 2206475E10D7CEEF00632606 /* boton6_1.png */, + 2206475F10D7CEEF00632606 /* boton6_2.png */, + 2206476010D7CEEF00632606 /* boton7_1.png */, + 2206476110D7CEEF00632606 /* boton7_2.png */, + 2206476210D7CEEF00632606 /* boton8_1.png */, + 2206476310D7CEEF00632606 /* boton8_2.png */, + 2206476410D7CEEF00632606 /* boton9_1.png */, + 2206476510D7CEEF00632606 /* boton9_2.png */, + 2206476610D7CEEF00632606 /* boton_agregarcontactos_1.png */, + 2206476710D7CEEF00632606 /* boton_agregarcontactos_2.png */, + 2206476810D7CEEF00632606 /* boton_asterisco_1.png */, + 2206476910D7CEEF00632606 /* boton_asterisco_2.png */, + 2206476A10D7CEEF00632606 /* boton_AXTEL_1.png */, + 2206476B10D7CEEF00632606 /* boton_AXTEL_2.png */, + 2206476C10D7CEEF00632606 /* boton_celular_1.png */, + 2206476D10D7CEEF00632606 /* boton_celular_2.png */, + 2206476E10D7CEEF00632606 /* boton_num_1.png */, + 2206476F10D7CEEF00632606 /* boton_num_2.png */, + 2206477010D7CEEF00632606 /* flecha_borrar1.png */, + 2206477110D7CEEF00632606 /* flecha_borrar2.png */, + 2206477210D7CEEF00632606 /* plecasuperiorconlogo.png */, + ); + name = "elementos separados Dialpad"; + path = "Elements for the Dialpad/elementos separados Dialpad"; + sourceTree = ""; + }; + 220647C710D7DB0D00632606 /* Ongoing call elements */ = { + isa = PBXGroup; + children = ( + 22B4506810F5D66A005A07E6 /* elementos_separados_llamada_activa */, + ); + path = "Ongoing call elements"; + sourceTree = ""; + }; + 2206481010D7FF7200632606 /* elementos keypad */ = { + isa = PBXGroup; + children = ( + 229C9F9B11098DEC001BB43E /* auroc-Off.png */, + 229C9F9C11098DEC001BB43E /* auroc-On.png */, + 229240E410F1FFFE008A8A37 /* boton_1-2.png */, + 2206481110D7FF7200632606 /* boton_0-1.png */, + 2206481210D7FF7200632606 /* boton_0-2.png */, + 2206481310D7FF7200632606 /* boton_1-1.png */, + 2206481510D7FF7200632606 /* boton_2-1.png */, + 2206481610D7FF7200632606 /* boton_2-2.png */, + 2206481710D7FF7200632606 /* boton_3-1.png */, + 2206481810D7FF7200632606 /* boton_3-2.png */, + 2206481910D7FF7200632606 /* boton_4-1.png */, + 2206481A10D7FF7200632606 /* boton_4-2.png */, + 2206481B10D7FF7200632606 /* boton_5-1.png */, + 2206481C10D7FF7200632606 /* boton_5-2.png */, + 2206481D10D7FF7200632606 /* boton_6-1.png */, + 2206481E10D7FF7200632606 /* boton_6-2.png */, + 2206481F10D7FF7200632606 /* boton_7-1.png */, + 2206482010D7FF7200632606 /* boton_7-2.png */, + 2206482110D7FF7200632606 /* boton_8-1.png */, + 2206482210D7FF7200632606 /* boton_8-2.png */, + 2206482310D7FF7200632606 /* boton_9-1.png */, + 2206482410D7FF7200632606 /* boton_9-2.png */, + 2206482510D7FF7200632606 /* boton_asterisco-1.png */, + 2206482610D7FF7200632606 /* boton_asterisco-2.png */, + 2206482710D7FF7200632606 /* boton_colgar1.png */, + 2206482810D7FF7200632606 /* boton_colgar2.png */, + 2206482910D7FF7200632606 /* boton_num-1.png */, + 2206482A10D7FF7200632606 /* boton_num-2.png */, + 2206482B10D7FF7200632606 /* boton_regresar1.png */, + 2206482C10D7FF7200632606 /* boton_regresar2.png */, + 2206482D10D7FF7200632606 /* pantalla_keypad_completa1.jpg */, + ); + path = "elementos keypad"; + sourceTree = ""; + }; + 2206487510D8CCF700632606 /* elements_for_favoritesContactsRecent */ = { + isa = PBXGroup; + children = ( + 22DAF1C710DF64490051BAB7 /* OK_Button */, + 22DAF1CA10DF64490051BAB7 /* Erase_Button */, + 22DAF1CD10DF64490051BAB7 /* More_tab_button */, + 2206487610D8CCF700632606 /* bootonAccesoAxtelito.png */, + 2206487710D8CCF700632606 /* contactos_gris.jpg */, + 2206487810D8CCF700632606 /* elementos_pantallas_listas */, + 2206488010D8CCF700632606 /* favoritosgris.jpg */, + 2206488110D8CCF700632606 /* llamadasrecientes_gris.jpg */, + ); + path = elements_for_favoritesContactsRecent; + sourceTree = ""; + }; + 2206487810D8CCF700632606 /* elementos_pantallas_listas */ = { + isa = PBXGroup; + children = ( + 2206487910D8CCF700632606 /* boton_agregar_1.png */, + 2206487A10D8CCF700632606 /* boton_agregar_2.png */, + 2206487B10D8CCF700632606 /* boton_avanzar_1.png */, + 2206487C10D8CCF700632606 /* boton_avanzar_2.png */, + 2206487D10D8CCF700632606 /* boton_editar_1.png */, + 2206487E10D8CCF700632606 /* boton_editar_2.png */, + 2206487F10D8CCF700632606 /* pleca_gris.png */, + ); + path = elementos_pantallas_listas; + sourceTree = ""; + }; 220FAC77107654FC0068D98F /* include */ = { isa = PBXGroup; children = ( + 228B040310DB95BD0061FE68 /* axtunnel */, 220FAC78107654FC0068D98F /* eXosip2 */, 220FAC82107654FC0068D98F /* gsm */, 220FAC84107654FC0068D98F /* linphone */, @@ -480,19 +1070,96 @@ path = speex; sourceTree = ""; }; - 22F2546F1073D95B00AC9B3F /* share */ = { + 228B040310DB95BD0061FE68 /* axtunnel */ = { + isa = PBXGroup; + children = ( + 228B040410DB95BD0061FE68 /* client.hh */, + 228B040510DB95BD0061FE68 /* common.hh */, + ); + path = axtunnel; + sourceTree = ""; + }; + 2292424810F21C25008A8A37 /* settings */ = { + isa = PBXGroup; + children = ( + 2292424910F21C25008A8A37 /* Settings.bundle */, + ); + path = settings; + sourceTree = ""; + }; + 229C9EC211084180001BB43E /* advanced-settings */ = { + isa = PBXGroup; + children = ( + 229C9EC311084180001BB43E /* Settings.bundle */, + ); + path = "advanced-settings"; + sourceTree = ""; + }; + 22B4506810F5D66A005A07E6 /* elementos_separados_llamada_activa */ = { + isa = PBXGroup; + children = ( + 22B4506910F5D66A005A07E6 /* boton_colgar.png */, + 22B4506A10F5D66A005A07E6 /* corner_der.png */, + 22B4506B10F5D66A005A07E6 /* corner_izq.png */, + 22B4506C10F5D66A005A07E6 /* fondo_gris_botones.png */, + 22B4506D10F5D66A005A07E6 /* icono_altavoz_1.png */, + 22B4506E10F5D66A005A07E6 /* icono_altavoz_2.png */, + 22B4506F10F5D66A005A07E6 /* icono_contactos_1.png */, + 22B4507010F5D66A005A07E6 /* icono_contactos_2.png */, + 22B4507110F5D66A005A07E6 /* icono_silencio_1.png */, + 22B4507210F5D66A005A07E6 /* icono_silencio_2.png */, + 22B4507310F5D66A005A07E6 /* icono_teclado_1.png */, + 22B4507410F5D66A005A07E6 /* icono_teclado_2.png */, + 22B4507510F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg */, + 22B4507610F5D66A005A07E6 /* pleca_gris.png */, + ); + path = elementos_separados_llamada_activa; + sourceTree = ""; + }; + 22DAF1C710DF64490051BAB7 /* OK_Button */ = { + isa = PBXGroup; + children = ( + 22DAF1C810DF64490051BAB7 /* bot_ok1.png */, + 22DAF1C910DF64490051BAB7 /* bot_ok2.png */, + ); + path = OK_Button; + sourceTree = ""; + }; + 22DAF1CA10DF64490051BAB7 /* Erase_Button */ = { + isa = PBXGroup; + children = ( + 22DAF1CB10DF64490051BAB7 /* bot_borrar1.png */, + 22DAF1CC10DF64490051BAB7 /* bot_borrar2.png */, + ); + path = Erase_Button; + sourceTree = ""; + }; + 22DAF1CD10DF64490051BAB7 /* More_tab_button */ = { + isa = PBXGroup; + children = ( + 22DAF1CE10DF64490051BAB7 /* boton_mas_1.png */, + 22DAF1CF10DF64490051BAB7 /* boton_mas_2.png */, + ); + path = More_tab_button; + sourceTree = ""; + }; + 22F2546F1073D95B00AC9B3F /* rings */ = { isa = PBXGroup; children = ( - 2273798710A48EF000526073 /* oldphone.wav */, 2237D4081084D7A9001383EE /* oldphone-mono.wav */, ); - name = share; - path = ../linphone/share; + name = rings; + path = ../linphone/share/rings; sourceTree = SOURCE_ROOT; }; 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 229C9EC211084180001BB43E /* advanced-settings */, + 2292424810F21C25008A8A37 /* settings */, + 220646F110D7C62600632606 /* libssl.a */, + 220646F210D7C62600632606 /* libcrypto.a */, + 220646EC10D7C5E300632606 /* libaxtunnel.a */, 2273785D10A3703300526073 /* libmsiounit.a */, 220FAD2810765B400068D98F /* libeXosip2.a */, 220FAD2910765B400068D98F /* libgsm.a */, @@ -523,11 +1190,12 @@ 2274402E106F335E006EC466 /* AudioToolbox.framework */, 22744043106F33FC006EC466 /* Security.framework */, 22744056106F9BC9006EC466 /* CoreFoundation.framework */, - 2245671C107699F700F10948 /* Settings.bundle */, 224567C1107B968500F10948 /* AVFoundation.framework */, 22F51EF5107FA66500F98953 /* untitled.plist */, 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */, 22B5F03410CE6B2F00777D97 /* AddressBook.framework */, + 229242BB10F2298C008A8A37 /* SystemConfiguration.framework */, + 229242BF10F229AD008A8A37 /* SystemConfiguration.framework */, ); name = CustomTemplate; sourceTree = ""; @@ -535,6 +1203,7 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( + 220646AA10D7B90300632606 /* tunnel.cc */, 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */, 29B97316FDCFA39411CA2CEA /* main.m */, ); @@ -544,21 +1213,30 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( - 2242D91810D66C2100E9963F /* mic_active.png */, - 2242D91910D66C2100E9963F /* mic_muted.png */, + 22B4506510F5D391005A07E6 /* about.jpg */, + 22B44E0910F477E8005A07E6 /* faded Screen.jpg */, + 22DAF1DA10DF6A6F0051BAB7 /* axtel_bg.png */, + 2206487510D8CCF700632606 /* elements_for_favoritesContactsRecent */, + 2206481010D7FF7200632606 /* elementos keypad */, + 220647C710D7DB0D00632606 /* Ongoing call elements */, + 2206475110D7CEEF00632606 /* elementos separados Dialpad */, + 2206471710D7CC4A00632606 /* boton_contactos_1.png */, + 2206471A10D7CC4A00632606 /* boton_teclado_1.png */, + 2206471C10D7CC4A00632606 /* boton_recientes_1.png */, + 2206471E10D7CC4A00632606 /* boton_estrella_1.png */, + 220646E010D7C3EC00632606 /* Default.png */, 2242D91410D66BF300E9963F /* in_call.png */, 2242D91510D66BF300E9963F /* out_call.png */, - 2245667910768B9000F10948 /* linphone.png */, - 2245667710768B7300F10948 /* linphone2.png */, 22F255131073EEE600AC9B3F /* green.png */, 22F255141073EEE600AC9B3F /* red.png */, - 22F254801073D99800AC9B3F /* ringback.wav */, - 22F2546F1073D95B00AC9B3F /* share */, + 22F2546F1073D95B00AC9B3F /* rings */, 8D1107310486CEB800E47090 /* linphone-Info.plist */, 2274550710700509006EC466 /* linphonerc */, 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */, + 2292419910F2020E008A8A37 /* linphone-advanced-Info.plist */, + 229C9FFA110D83E8001BB43E /* Localizable.strings */, ); - name = Resources; + path = Resources; sourceTree = ""; }; 29B97323FDCFA39411CA2CEA /* Frameworks */ = { @@ -573,10 +1251,22 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 22FAD36C110E05FC00E2BA6A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 22FAD37A110E065100E2BA6A /* codechecker.hh in Headers */, + 22FAD37C110E065100E2BA6A /* bitlib.hh in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* linphone */ = { + 1D6058900D05DD3D006BFB54 /* axphone */ = { isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "axphone" */; buildPhases = ( 1D60588D0D05DD3D006BFB54 /* Resources */, 1D60588E0D05DD3D006BFB54 /* Sources */, @@ -586,11 +1276,45 @@ ); dependencies = ( ); - name = linphone; + name = axphone; productName = linphone; - productReference = 1D6058910D05DD3D006BFB54 /* linphone.app */; + productReference = 1D6058910D05DD3D006BFB54 /* axphone.app */; productType = "com.apple.product-type.application"; }; + 229240F810F2020E008A8A37 /* axphone-advanced */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2292419310F2020E008A8A37 /* Build configuration list for PBXNativeTarget "axphone-advanced" */; + buildPhases = ( + 229240F910F2020E008A8A37 /* Resources */, + 2292417110F2020E008A8A37 /* Sources */, + 2292417D10F2020E008A8A37 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "axphone-advanced"; + productName = linphone; + productReference = 2292419710F2020E008A8A37 /* axphone.app */; + productType = "com.apple.product-type.application"; + }; + 22FAD36F110E05FC00E2BA6A /* keydecoder */ = { + isa = PBXNativeTarget; + buildConfigurationList = 22FAD37F110E068F00E2BA6A /* Build configuration list for PBXNativeTarget "keydecoder" */; + buildPhases = ( + 22FAD36C110E05FC00E2BA6A /* Headers */, + 22FAD36D110E05FC00E2BA6A /* Sources */, + 22FAD36E110E05FC00E2BA6A /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = keydecoder; + productName = keydecoder; + productReference = 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -599,11 +1323,22 @@ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */; compatibilityVersion = "Xcode 3.1"; hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + es, + en, + Spanish, + ); mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; projectDirPath = ""; projectRoot = ""; targets = ( - 1D6058900D05DD3D006BFB54 /* linphone */, + 1D6058900D05DD3D006BFB54 /* axphone */, + 229240F810F2020E008A8A37 /* axphone-advanced */, + 22FAD36F110E05FC00E2BA6A /* keydecoder */, ); }; /* End PBXProject section */ @@ -615,23 +1350,255 @@ 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 */, 22B5F1E110CFA3C700777D97 /* IncallViewController.xib in Resources */, 227BCDC310D4004600FBFD76 /* CallHistoryTableViewController.xib in Resources */, 2242D91610D66BF300E9963F /* in_call.png in Resources */, 2242D91710D66BF300E9963F /* out_call.png in Resources */, - 2242D91A10D66C2100E9963F /* mic_active.png in Resources */, - 2242D91B10D66C2100E9963F /* mic_muted.png in Resources */, 2242D9C410D68DFD00E9963F /* FavoriteTableViewController.xib in Resources */, + 220646E110D7C3EC00632606 /* Default.png in Resources */, + 2206471F10D7CC4A00632606 /* boton_contactos_1.png in Resources */, + 2206472210D7CC4A00632606 /* boton_teclado_1.png in Resources */, + 2206472410D7CC4A00632606 /* boton_recientes_1.png in Resources */, + 2206472610D7CC4A00632606 /* boton_estrella_1.png in Resources */, + 2206477310D7CEEF00632606 /* boton0_1.png in Resources */, + 2206477410D7CEEF00632606 /* boton0_2.png in Resources */, + 2206477510D7CEEF00632606 /* boton1_1.png in Resources */, + 2206477610D7CEEF00632606 /* boton1_2.png in Resources */, + 2206477710D7CEEF00632606 /* boton2_1.png in Resources */, + 2206477810D7CEEF00632606 /* boton2_2.png in Resources */, + 2206477910D7CEEF00632606 /* boton3_1.png in Resources */, + 2206477A10D7CEEF00632606 /* boton3_2.png in Resources */, + 2206477B10D7CEEF00632606 /* boton4_1.png in Resources */, + 2206477C10D7CEEF00632606 /* boton4_2.png in Resources */, + 2206477D10D7CEEF00632606 /* boton5_1.png in Resources */, + 2206477E10D7CEEF00632606 /* boton5_2.png in Resources */, + 2206477F10D7CEEF00632606 /* boton6_1.png in Resources */, + 2206478010D7CEEF00632606 /* boton6_2.png in Resources */, + 2206478110D7CEEF00632606 /* boton7_1.png in Resources */, + 2206478210D7CEEF00632606 /* boton7_2.png in Resources */, + 2206478310D7CEEF00632606 /* boton8_1.png in Resources */, + 2206478410D7CEEF00632606 /* boton8_2.png in Resources */, + 2206478510D7CEEF00632606 /* boton9_1.png in Resources */, + 2206478610D7CEEF00632606 /* boton9_2.png in Resources */, + 2206478710D7CEEF00632606 /* boton_agregarcontactos_1.png in Resources */, + 2206478810D7CEEF00632606 /* boton_agregarcontactos_2.png in Resources */, + 2206478910D7CEEF00632606 /* boton_asterisco_1.png in Resources */, + 2206478A10D7CEEF00632606 /* boton_asterisco_2.png in Resources */, + 2206478B10D7CEEF00632606 /* boton_AXTEL_1.png in Resources */, + 2206478C10D7CEEF00632606 /* boton_AXTEL_2.png in Resources */, + 2206478D10D7CEEF00632606 /* boton_celular_1.png in Resources */, + 2206478E10D7CEEF00632606 /* boton_celular_2.png in Resources */, + 2206478F10D7CEEF00632606 /* boton_num_1.png in Resources */, + 2206479010D7CEEF00632606 /* boton_num_2.png in Resources */, + 2206479110D7CEEF00632606 /* flecha_borrar1.png in Resources */, + 2206479210D7CEEF00632606 /* flecha_borrar2.png in Resources */, + 2206479310D7CEEF00632606 /* plecasuperiorconlogo.png in Resources */, + 2206482E10D7FF7200632606 /* boton_0-1.png in Resources */, + 2206482F10D7FF7200632606 /* boton_0-2.png in Resources */, + 2206483010D7FF7200632606 /* boton_1-1.png in Resources */, + 2206483210D7FF7200632606 /* boton_2-1.png in Resources */, + 2206483310D7FF7200632606 /* boton_2-2.png in Resources */, + 2206483410D7FF7200632606 /* boton_3-1.png in Resources */, + 2206483510D7FF7200632606 /* boton_3-2.png in Resources */, + 2206483610D7FF7200632606 /* boton_4-1.png in Resources */, + 2206483710D7FF7200632606 /* boton_4-2.png in Resources */, + 2206483810D7FF7200632606 /* boton_5-1.png in Resources */, + 2206483910D7FF7200632606 /* boton_5-2.png in Resources */, + 2206483A10D7FF7200632606 /* boton_6-1.png in Resources */, + 2206483B10D7FF7200632606 /* boton_6-2.png in Resources */, + 2206483C10D7FF7200632606 /* boton_7-1.png in Resources */, + 2206483D10D7FF7200632606 /* boton_7-2.png in Resources */, + 2206483E10D7FF7200632606 /* boton_8-1.png in Resources */, + 2206483F10D7FF7200632606 /* boton_8-2.png in Resources */, + 2206484010D7FF7200632606 /* boton_9-1.png in Resources */, + 2206484110D7FF7200632606 /* boton_9-2.png in Resources */, + 2206484210D7FF7200632606 /* boton_asterisco-1.png in Resources */, + 2206484310D7FF7200632606 /* boton_asterisco-2.png in Resources */, + 2206484410D7FF7200632606 /* boton_colgar1.png in Resources */, + 2206484510D7FF7200632606 /* boton_colgar2.png in Resources */, + 2206484610D7FF7200632606 /* boton_num-1.png in Resources */, + 2206484710D7FF7200632606 /* boton_num-2.png in Resources */, + 2206484810D7FF7200632606 /* boton_regresar1.png in Resources */, + 2206484910D7FF7200632606 /* boton_regresar2.png in Resources */, + 2206484A10D7FF7200632606 /* pantalla_keypad_completa1.jpg in Resources */, + 2206488210D8CCF700632606 /* bootonAccesoAxtelito.png in Resources */, + 2206488310D8CCF700632606 /* contactos_gris.jpg in Resources */, + 2206488410D8CCF700632606 /* boton_agregar_1.png in Resources */, + 2206488510D8CCF700632606 /* boton_agregar_2.png in Resources */, + 2206488610D8CCF700632606 /* boton_avanzar_1.png in Resources */, + 2206488710D8CCF700632606 /* boton_avanzar_2.png in Resources */, + 2206488810D8CCF700632606 /* boton_editar_1.png in Resources */, + 2206488910D8CCF700632606 /* boton_editar_2.png in Resources */, + 2206488A10D8CCF700632606 /* pleca_gris.png in Resources */, + 2206488B10D8CCF700632606 /* favoritosgris.jpg in Resources */, + 2206488C10D8CCF700632606 /* llamadasrecientes_gris.jpg in Resources */, + 22D0FD3110DB627B00671BCD /* MoreViewController.xib in Resources */, + 22527EF510DBB82C00E9915B /* FirstLoginViewController.xib in Resources */, + 22DAF1D010DF64490051BAB7 /* bot_ok1.png in Resources */, + 22DAF1D110DF64490051BAB7 /* bot_ok2.png in Resources */, + 22DAF1D210DF64490051BAB7 /* bot_borrar1.png in Resources */, + 22DAF1D310DF64490051BAB7 /* bot_borrar2.png in Resources */, + 22DAF1D410DF64490051BAB7 /* boton_mas_1.png in Resources */, + 22DAF1D510DF64490051BAB7 /* boton_mas_2.png in Resources */, + 22DAF1DB10DF6A6F0051BAB7 /* axtel_bg.png in Resources */, + 229240E510F1FFFE008A8A37 /* boton_1-2.png in Resources */, + 2292425B10F21C4A008A8A37 /* Settings.bundle in Resources */, + 22B44E3F10F4882F005A07E6 /* faded Screen.jpg in Resources */, + 22B44E6C10F4AEE0005A07E6 /* FavoriteEditViewController.xib in Resources */, + 22B4506610F5D391005A07E6 /* about.jpg in Resources */, + 22B4507710F5D66A005A07E6 /* boton_colgar.png in Resources */, + 22B4507810F5D66A005A07E6 /* corner_der.png in Resources */, + 22B4507910F5D66A005A07E6 /* corner_izq.png in Resources */, + 22B4507A10F5D66A005A07E6 /* fondo_gris_botones.png in Resources */, + 22B4507B10F5D66A005A07E6 /* icono_altavoz_1.png in Resources */, + 22B4507C10F5D66A005A07E6 /* icono_altavoz_2.png in Resources */, + 22B4507D10F5D66A005A07E6 /* icono_contactos_1.png in Resources */, + 22B4507E10F5D66A005A07E6 /* icono_contactos_2.png in Resources */, + 22B4507F10F5D66A005A07E6 /* icono_silencio_1.png in Resources */, + 22B4508010F5D66A005A07E6 /* icono_silencio_2.png in Resources */, + 22B4508110F5D66A005A07E6 /* icono_teclado_1.png in Resources */, + 22B4508210F5D66A005A07E6 /* icono_teclado_2.png in Resources */, + 22B4508310F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg in Resources */, + 22B4508410F5D66A005A07E6 /* pleca_gris.png in Resources */, + 22A3EBE3110077DA002241E2 /* AboutViewController.xib in Resources */, + 22A3EC1211007A27002241E2 /* ConsoleViewController.xib in Resources */, + 229C9F9F11098DEC001BB43E /* auroc-Off.png in Resources */, + 229C9FA011098DEC001BB43E /* auroc-On.png in Resources */, + 229C9FFB110D83E8001BB43E /* Localizable.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 229240F910F2020E008A8A37 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 229240FA10F2020E008A8A37 /* linphonerc in Resources */, + 229240FB10F2020E008A8A37 /* PhoneViewController.xib in Resources */, + 229240FD10F2020E008A8A37 /* green.png in Resources */, + 229240FE10F2020E008A8A37 /* red.png in Resources */, + 229240FF10F2020E008A8A37 /* PhoneMainView.xib in Resources */, + 2292410310F2020E008A8A37 /* untitled.plist in Resources */, + 2292410410F2020E008A8A37 /* oldphone-mono.wav in Resources */, + 2292410610F2020E008A8A37 /* IncallViewController.xib in Resources */, + 2292410710F2020E008A8A37 /* CallHistoryTableViewController.xib in Resources */, + 2292410810F2020E008A8A37 /* in_call.png in Resources */, + 2292410910F2020E008A8A37 /* out_call.png in Resources */, + 2292410C10F2020E008A8A37 /* FavoriteTableViewController.xib in Resources */, + 2292410D10F2020E008A8A37 /* Default.png in Resources */, + 2292410E10F2020E008A8A37 /* boton_contactos_1.png in Resources */, + 2292410F10F2020E008A8A37 /* boton_teclado_1.png in Resources */, + 2292411010F2020E008A8A37 /* boton_recientes_1.png in Resources */, + 2292411110F2020E008A8A37 /* boton_estrella_1.png in Resources */, + 2292411210F2020E008A8A37 /* boton0_1.png in Resources */, + 2292411310F2020E008A8A37 /* boton0_2.png in Resources */, + 2292411410F2020E008A8A37 /* boton1_1.png in Resources */, + 2292411510F2020E008A8A37 /* boton1_2.png in Resources */, + 2292411610F2020E008A8A37 /* boton2_1.png in Resources */, + 2292411710F2020E008A8A37 /* boton2_2.png in Resources */, + 2292411810F2020E008A8A37 /* boton3_1.png in Resources */, + 2292411910F2020E008A8A37 /* boton3_2.png in Resources */, + 2292411A10F2020E008A8A37 /* boton4_1.png in Resources */, + 2292411B10F2020E008A8A37 /* boton4_2.png in Resources */, + 2292411C10F2020E008A8A37 /* boton5_1.png in Resources */, + 2292411D10F2020E008A8A37 /* boton5_2.png in Resources */, + 2292411E10F2020E008A8A37 /* boton6_1.png in Resources */, + 2292411F10F2020E008A8A37 /* boton6_2.png in Resources */, + 2292412010F2020E008A8A37 /* boton7_1.png in Resources */, + 2292412110F2020E008A8A37 /* boton7_2.png in Resources */, + 2292412210F2020E008A8A37 /* boton8_1.png in Resources */, + 2292412310F2020E008A8A37 /* boton8_2.png in Resources */, + 2292412410F2020E008A8A37 /* boton9_1.png in Resources */, + 2292412510F2020E008A8A37 /* boton9_2.png in Resources */, + 2292412610F2020E008A8A37 /* boton_agregarcontactos_1.png in Resources */, + 2292412710F2020E008A8A37 /* boton_agregarcontactos_2.png in Resources */, + 2292412810F2020E008A8A37 /* boton_asterisco_1.png in Resources */, + 2292412910F2020E008A8A37 /* boton_asterisco_2.png in Resources */, + 2292412A10F2020E008A8A37 /* boton_AXTEL_1.png in Resources */, + 2292412B10F2020E008A8A37 /* boton_AXTEL_2.png in Resources */, + 2292412C10F2020E008A8A37 /* boton_celular_1.png in Resources */, + 2292412D10F2020E008A8A37 /* boton_celular_2.png in Resources */, + 2292412E10F2020E008A8A37 /* boton_num_1.png in Resources */, + 2292412F10F2020E008A8A37 /* boton_num_2.png in Resources */, + 2292413010F2020E008A8A37 /* flecha_borrar1.png in Resources */, + 2292413110F2020E008A8A37 /* flecha_borrar2.png in Resources */, + 2292413210F2020E008A8A37 /* plecasuperiorconlogo.png in Resources */, + 2292413F10F2020E008A8A37 /* boton_0-1.png in Resources */, + 2292414010F2020E008A8A37 /* boton_0-2.png in Resources */, + 2292414110F2020E008A8A37 /* boton_1-1.png in Resources */, + 2292414210F2020E008A8A37 /* boton_2-1.png in Resources */, + 2292414310F2020E008A8A37 /* boton_2-2.png in Resources */, + 2292414410F2020E008A8A37 /* boton_3-1.png in Resources */, + 2292414510F2020E008A8A37 /* boton_3-2.png in Resources */, + 2292414610F2020E008A8A37 /* boton_4-1.png in Resources */, + 2292414710F2020E008A8A37 /* boton_4-2.png in Resources */, + 2292414810F2020E008A8A37 /* boton_5-1.png in Resources */, + 2292414910F2020E008A8A37 /* boton_5-2.png in Resources */, + 2292414A10F2020E008A8A37 /* boton_6-1.png in Resources */, + 2292414B10F2020E008A8A37 /* boton_6-2.png in Resources */, + 2292414C10F2020E008A8A37 /* boton_7-1.png in Resources */, + 2292414D10F2020E008A8A37 /* boton_7-2.png in Resources */, + 2292414E10F2020E008A8A37 /* boton_8-1.png in Resources */, + 2292414F10F2020E008A8A37 /* boton_8-2.png in Resources */, + 2292415010F2020E008A8A37 /* boton_9-1.png in Resources */, + 2292415110F2020E008A8A37 /* boton_9-2.png in Resources */, + 2292415210F2020E008A8A37 /* boton_asterisco-1.png in Resources */, + 2292415310F2020E008A8A37 /* boton_asterisco-2.png in Resources */, + 2292415410F2020E008A8A37 /* boton_colgar1.png in Resources */, + 2292415510F2020E008A8A37 /* boton_colgar2.png in Resources */, + 2292415610F2020E008A8A37 /* boton_num-1.png in Resources */, + 2292415710F2020E008A8A37 /* boton_num-2.png in Resources */, + 2292415810F2020E008A8A37 /* boton_regresar1.png in Resources */, + 2292415910F2020E008A8A37 /* boton_regresar2.png in Resources */, + 2292415A10F2020E008A8A37 /* pantalla_keypad_completa1.jpg in Resources */, + 2292415B10F2020E008A8A37 /* bootonAccesoAxtelito.png in Resources */, + 2292415C10F2020E008A8A37 /* contactos_gris.jpg in Resources */, + 2292415D10F2020E008A8A37 /* boton_agregar_1.png in Resources */, + 2292415E10F2020E008A8A37 /* boton_agregar_2.png in Resources */, + 2292415F10F2020E008A8A37 /* boton_avanzar_1.png in Resources */, + 2292416010F2020E008A8A37 /* boton_avanzar_2.png in Resources */, + 2292416110F2020E008A8A37 /* boton_editar_1.png in Resources */, + 2292416210F2020E008A8A37 /* boton_editar_2.png in Resources */, + 2292416310F2020E008A8A37 /* pleca_gris.png in Resources */, + 2292416410F2020E008A8A37 /* favoritosgris.jpg in Resources */, + 2292416510F2020E008A8A37 /* llamadasrecientes_gris.jpg in Resources */, + 2292416710F2020E008A8A37 /* MoreViewController.xib in Resources */, + 2292416810F2020E008A8A37 /* FirstLoginViewController.xib in Resources */, + 2292416910F2020E008A8A37 /* bot_ok1.png in Resources */, + 2292416A10F2020E008A8A37 /* bot_ok2.png in Resources */, + 2292416B10F2020E008A8A37 /* bot_borrar1.png in Resources */, + 2292416C10F2020E008A8A37 /* bot_borrar2.png in Resources */, + 2292416D10F2020E008A8A37 /* boton_mas_1.png in Resources */, + 2292416E10F2020E008A8A37 /* boton_mas_2.png in Resources */, + 2292416F10F2020E008A8A37 /* axtel_bg.png in Resources */, + 2292417010F2020E008A8A37 /* boton_1-2.png in Resources */, + 22B44E0A10F477E8005A07E6 /* faded Screen.jpg in Resources */, + 22B44E6D10F4AEE0005A07E6 /* FavoriteEditViewController.xib in Resources */, + 22B4506710F5D391005A07E6 /* about.jpg in Resources */, + 22B4508510F5D66A005A07E6 /* boton_colgar.png in Resources */, + 22B4508610F5D66A005A07E6 /* corner_der.png in Resources */, + 22B4508710F5D66A005A07E6 /* corner_izq.png in Resources */, + 22B4508810F5D66A005A07E6 /* fondo_gris_botones.png in Resources */, + 22B4508910F5D66A005A07E6 /* icono_altavoz_1.png in Resources */, + 22B4508A10F5D66A005A07E6 /* icono_altavoz_2.png in Resources */, + 22B4508B10F5D66A005A07E6 /* icono_contactos_1.png in Resources */, + 22B4508C10F5D66A005A07E6 /* icono_contactos_2.png in Resources */, + 22B4508D10F5D66A005A07E6 /* icono_silencio_1.png in Resources */, + 22B4508E10F5D66A005A07E6 /* icono_silencio_2.png in Resources */, + 22B4508F10F5D66A005A07E6 /* icono_teclado_1.png in Resources */, + 22B4509010F5D66A005A07E6 /* icono_teclado_2.png in Resources */, + 22B4509110F5D66A005A07E6 /* llamadaactiva_negroyrojo.jpg in Resources */, + 22B4509210F5D66A005A07E6 /* pleca_gris.png in Resources */, + 22A3EBE5110077DA002241E2 /* AboutViewController.xib in Resources */, + 22A3EC1411007A27002241E2 /* ConsoleViewController.xib in Resources */, + 229C9EC411084180001BB43E /* Settings.bundle in Resources */, + 229C9F9D11098DEC001BB43E /* auroc-Off.png in Resources */, + 229C9F9E11098DEC001BB43E /* auroc-On.png in Resources */, + 229C9FFC110D83E8001BB43E /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -650,11 +1617,60 @@ 227BCDC210D4004600FBFD76 /* CallHistoryTableViewController.m in Sources */, 2242D9C310D68DFD00E9963F /* FavoriteTableViewController.m in Sources */, 2242D9C910D691F900E9963F /* GenericTabViewController.m in Sources */, + 220646AB10D7B90300632606 /* tunnel.cc in Sources */, + 22D0FD3010DB627B00671BCD /* MoreViewController.m in Sources */, + 22527EF410DBB82C00E9915B /* FirstLoginViewController.m in Sources */, + 22B44E6810F4AB5A005A07E6 /* FavoriteEditViewController.m in Sources */, + 22A3EBE2110077DA002241E2 /* AboutViewController.m in Sources */, + 22A3EC1111007A27002241E2 /* ConsoleViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2292417110F2020E008A8A37 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2292417210F2020E008A8A37 /* main.m in Sources */, + 2292417310F2020E008A8A37 /* linphoneAppDelegate.m in Sources */, + 2292417410F2020E008A8A37 /* PhoneViewController.m in Sources */, + 2292417510F2020E008A8A37 /* ContactPickerDelegate.m in Sources */, + 2292417610F2020E008A8A37 /* IncallViewController.m in Sources */, + 2292417710F2020E008A8A37 /* CallHistoryTableViewController.m in Sources */, + 2292417810F2020E008A8A37 /* FavoriteTableViewController.m in Sources */, + 2292417910F2020E008A8A37 /* GenericTabViewController.m in Sources */, + 2292417A10F2020E008A8A37 /* tunnel.cc in Sources */, + 2292417B10F2020E008A8A37 /* MoreViewController.m in Sources */, + 2292417C10F2020E008A8A37 /* FirstLoginViewController.m in Sources */, + 22B44E6910F4AB5A005A07E6 /* FavoriteEditViewController.m in Sources */, + 22A3EBE4110077DA002241E2 /* AboutViewController.m in Sources */, + 22A3EC1311007A27002241E2 /* ConsoleViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 22FAD36D110E05FC00E2BA6A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 22FAD379110E065100E2BA6A /* decodetable.cc in Sources */, + 22FAD37B110E065100E2BA6A /* codechecker.cc in Sources */, + 22FAD37D110E065100E2BA6A /* bitlib.cc in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXVariantGroup section */ + 229C9FFA110D83E8001BB43E /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 229C9FF7110D83C8001BB43E /* English */, + 229CA00D110D848E001BB43E /* Spanish */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; @@ -665,17 +1681,15 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; + GCC_PREPROCESSOR_DEFINITIONS = LINPHONE_WIFI_ONLY; 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)\"", - ); + LIBRARY_SEARCH_PATHS = ""; "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; + PRODUCT_NAME = axphone; SDKROOT = iphoneos3.0; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; }; @@ -688,16 +1702,91 @@ COPY_PHASE_STRIP = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; + GCC_PREPROCESSOR_DEFINITIONS = LINPHONE_WIFI_ONLY; "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)\"", - ); + LIBRARY_SEARCH_PATHS = ""; "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; + PRODUCT_NAME = axphone; + }; + name = Release; + }; + 2292419410F2020E008A8A37 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + 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-advanced-Info.plist"; + LIBRARY_SEARCH_PATHS = ""; + "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/mediastreamer2/plugins\"", + "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib\"/**", + ); + PRODUCT_NAME = axphone; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; + SDKROOT = iphoneos3.0; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + }; + name = Debug; + }; + 2292419510F2020E008A8A37 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_ENTITLEMENTS = untitled.plist; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + 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-advanced-Info.plist"; + LIBRARY_SEARCH_PATHS = ""; + "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/mediastreamer2/plugins\"", + "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib\"/**", + ); + PRODUCT_NAME = axphone; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; + SDKROOT = iphoneos3.0; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + }; + name = Distribution; + }; + 2292419610F2020E008A8A37 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + 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-advanced-Info.plist"; + LIBRARY_SEARCH_PATHS = ""; + "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/mediastreamer2/plugins\"", + "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib\"/**", + ); + PRODUCT_NAME = axphone; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; }; name = Release; }; @@ -705,7 +1794,8 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_ENTITLEMENTS = untitled.plist; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -713,6 +1803,7 @@ LIBRARY_SEARCH_PATHS = ""; LINK_WITH_STANDARD_LIBRARIES = YES; PREBINDING = NO; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos3.1; }; name = Distribution; @@ -728,23 +1819,55 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; + GCC_PREPROCESSOR_DEFINITIONS = LINPHONE_WIFI_ONLY; 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)\"", - ); + LIBRARY_SEARCH_PATHS = ""; "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; + PRODUCT_NAME = axphone; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos3.0; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; }; name = Distribution; }; + 22FAD371110E05FD00E2BA6A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + PREBINDING = NO; + PRODUCT_NAME = keydecoder; + }; + name = Debug; + }; + 22FAD372110E05FD00E2BA6A /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + PREBINDING = NO; + PRODUCT_NAME = keydecoder; + }; + name = Distribution; + }; + 22FAD373110E05FD00E2BA6A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + PREBINDING = NO; + PRODUCT_NAME = keydecoder; + ZERO_LINK = NO; + }; + name = Release; + }; C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -777,7 +1900,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */ = { + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "axphone" */ = { isa = XCConfigurationList; buildConfigurations = ( 1D6058940D05DD3E006BFB54 /* Debug */, @@ -787,6 +1910,26 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 2292419310F2020E008A8A37 /* Build configuration list for PBXNativeTarget "axphone-advanced" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2292419410F2020E008A8A37 /* Debug */, + 2292419510F2020E008A8A37 /* Distribution */, + 2292419610F2020E008A8A37 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 22FAD37F110E068F00E2BA6A /* Build configuration list for PBXNativeTarget "keydecoder" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 22FAD371110E05FD00E2BA6A /* Debug */, + 22FAD372110E05FD00E2BA6A /* Distribution */, + 22FAD373110E05FD00E2BA6A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/linphonerc b/linphonerc index 30522d6c0..bc6ef769f 100644 --- a/linphonerc +++ b/linphonerc @@ -12,7 +12,7 @@ inc_timeout=15 use_info=0 use_ipv6=0 register_only_when_network_is_up=0 -default_proxy=-1 +default_proxy=0 [rtp] audio_rtp_port=7076 diff --git a/logo_axtel.jpg b/logo_axtel.jpg new file mode 100644 index 000000000..9d1277f3c Binary files /dev/null and b/logo_axtel.jpg differ diff --git a/Settings.bundle/Root.plist b/settings/Settings.bundle/Root.plist similarity index 77% rename from Settings.bundle/Root.plist rename to settings/Settings.bundle/Root.plist index 0e692f772..680bfb1a0 100644 --- a/Settings.bundle/Root.plist +++ b/settings/Settings.bundle/Root.plist @@ -10,33 +10,15 @@ Type PSGroupSpecifier Title - SIP account + SIP Account Type PSTextFieldSpecifier Title - sip identity + User* Key - account_preference - DefaultValue - sip: - IsSecure - - KeyboardType - Alphabet - AutocapitalizationType - None - AutocorrectionType - No - - - Type - PSTextFieldSpecifier - Title - password - Key - password_preference + username_preference DefaultValue IsSecure @@ -52,11 +34,29 @@ Type PSTextFieldSpecifier Title - proxy + Pass* Key - proxy_preference + password_preference DefaultValue - sip: + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + + + Type + PSTextFieldSpecifier + Title + Domain* + Key + domain_preference + DefaultValue + IsSecure KeyboardType @@ -70,11 +70,11 @@ Type PSTextFieldSpecifier Title - route + Proxy Key - route_preference + proxy_preference DefaultValue - sip: + IsSecure KeyboardType @@ -90,36 +90,6 @@ 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 @@ -170,6 +140,51 @@ DefaultValue + + New item + + Type + PSToggleSwitchSpecifier + Title + Habilitar Auroc + Key + tunnelenable_preference + DefaultValue + + + Type + PSGroupSpecifier + Title + Auroc Core + + + Type + PSToggleSwitchSpecifier + Title + enable Auroc + Key + tunnelenable_preference + DefaultValue + + + + Type + PSTextFieldSpecifier + Title + Axtel PIN + Key + axtelpin_preference + DefaultValue + + IsSecure + + KeyboardType + Alphabet + AutocapitalizationType + None + AutocorrectionType + No + diff --git a/settings/Settings.bundle/en.lproj/Root.strings b/settings/Settings.bundle/en.lproj/Root.strings new file mode 100644 index 000000000..f8cee82da --- /dev/null +++ b/settings/Settings.bundle/en.lproj/Root.strings @@ -0,0 +1,14 @@ +/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */ + +"SIP Account" = "SIP Account"; +"User*" = "User*"; +"Pass*" = "Pass*"; +"Domain*" = "Domain*"; +"Proxy" = "Proxy"; + +"Codecs" = "Codecs"; + +"Auroc Core" = "Auroc Core"; +"enable Auroc" = "enable Auroc"; + +"Axtel PIN" = "AXTEL Key"; diff --git a/settings/Settings.bundle/es.lproj/Root.strings b/settings/Settings.bundle/es.lproj/Root.strings new file mode 100644 index 000000000..8c2e812f3 --- /dev/null +++ b/settings/Settings.bundle/es.lproj/Root.strings @@ -0,0 +1,14 @@ +/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */ + +"SIP Account" = "Cuenta SIP"; +"User*" = "Usuario*"; +"Pass*" = "Contraseña*"; +"Domain*" = "Dominio*"; +"Proxy" = "Proxy"; + +"Codecs" = "Codecs"; + +"Auroc Core" = "Auroc Core"; +"enable Auroc" = "Habilitar AXTEL Key"; + +"Axtel PIN" = "AXTEL Key";