// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		3A92068F16F1DE7100D49F96 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92068E16F1DE7100D49F96 /* AudioToolbox.framework */; };
		3A92069316F1DEA500D49F96 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92069216F1DEA500D49F96 /* CFNetwork.framework */; };
		3ADCCD171715338D0007BE8E /* pjsua.png in Resources */ = {isa = PBXBuildFile; fileRef = 3ADCCD161715338D0007BE8E /* pjsua.png */; };
		3ADCCD2D172E40120007BE8E /* pjsua_app_cli.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD28172E40120007BE8E /* pjsua_app_cli.c */; };
		3ADCCD2E172E40120007BE8E /* pjsua_app_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD29172E40120007BE8E /* pjsua_app_common.c */; };
		3ADCCD2F172E40120007BE8E /* pjsua_app_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD2A172E40120007BE8E /* pjsua_app_config.c */; };
		3ADCCD30172E40120007BE8E /* pjsua_app_legacy.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD2B172E40120007BE8E /* pjsua_app_legacy.c */; };
		3ADCCD31172E40120007BE8E /* pjsua_app.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD2C172E40120007BE8E /* pjsua_app.c */; };
		3AF0580916F050770046B835 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0580816F050770046B835 /* UIKit.framework */; };
		3AF0580B16F050770046B835 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0580A16F050770046B835 /* Foundation.framework */; };
		3AF0580D16F050770046B835 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0580C16F050770046B835 /* CoreGraphics.framework */; };
		3AF0581316F050780046B835 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581116F050780046B835 /* InfoPlist.strings */; };
		3AF0581516F050780046B835 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF0581416F050780046B835 /* main.m */; };
		3AF0581916F050780046B835 /* ipjsuaAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF0581816F050780046B835 /* ipjsuaAppDelegate.m */; };
		3AF0581B16F050780046B835 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581A16F050780046B835 /* Default.png */; };
		3AF0581D16F050780046B835 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581C16F050780046B835 /* Default@2x.png */; };
		3AF0581F16F050780046B835 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581E16F050780046B835 /* Default-568h@2x.png */; };
		3AF0582216F050780046B835 /* ipjsuaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF0582116F050780046B835 /* ipjsuaViewController.m */; };
		3AF0582516F050780046B835 /* ipjsuaViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0582316F050780046B835 /* ipjsuaViewController_iPhone.xib */; };
		3AF0582816F050780046B835 /* ipjsuaViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0582616F050780046B835 /* ipjsuaViewController_iPad.xib */; };
		3AF0583716F057740046B835 /* libpj-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583616F057740046B835 /* libpj-arm-apple-darwin9.a */; };
		3AF0583916F057890046B835 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583816F057890046B835 /* libpjlib-util-arm-apple-darwin9.a */; };
		3AF0583F16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583A16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a */; };
		3AF0584016F057B30046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583B16F057B20046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a */; };
		3AF0584116F057B30046B835 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583C16F057B20046B835 /* libpjmedia-codec-arm-apple-darwin9.a */; };
		3AF0584216F057B30046B835 /* libpjmedia-videodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583D16F057B20046B835 /* libpjmedia-videodev-arm-apple-darwin9.a */; };
		3AF0584316F057B30046B835 /* libpjsdp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583E16F057B20046B835 /* libpjsdp-arm-apple-darwin9.a */; };
		3AF0584516F057D30046B835 /* libpjnath-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584416F057D30046B835 /* libpjnath-arm-apple-darwin9.a */; };
		3AF0584A16F057F70046B835 /* libpjsip-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584616F057F70046B835 /* libpjsip-arm-apple-darwin9.a */; };
		3AF0584B16F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584716F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a */; };
		3AF0584C16F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584816F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a */; };
		3AF0584D16F057F70046B835 /* libpjsua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584916F057F70046B835 /* libpjsua-arm-apple-darwin9.a */; };
		3AF0585516F058290046B835 /* libg7221codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584E16F058290046B835 /* libg7221codec-arm-apple-darwin9.a */; };
		3AF0585616F058290046B835 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584F16F058290046B835 /* libgsmcodec-arm-apple-darwin9.a */; };
		3AF0585716F058290046B835 /* libilbccodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585016F058290046B835 /* libilbccodec-arm-apple-darwin9.a */; };
		3AF0585816F058290046B835 /* libmilenage-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585116F058290046B835 /* libmilenage-arm-apple-darwin9.a */; };
		3AF0585916F058290046B835 /* libresample-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585216F058290046B835 /* libresample-arm-apple-darwin9.a */; };
		3AF0585A16F058290046B835 /* libspeex-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585316F058290046B835 /* libspeex-arm-apple-darwin9.a */; };
		3AF0585B16F058290046B835 /* libsrtp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585416F058290046B835 /* libsrtp-arm-apple-darwin9.a */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		3A92068E16F1DE7100D49F96 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
		3A92069216F1DEA500D49F96 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
		3ADCCD161715338D0007BE8E /* pjsua.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pjsua.png; sourceTree = "<group>"; };
		3ADCCD28172E40120007BE8E /* pjsua_app_cli.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_cli.c; path = ../../pjsua_app_cli.c; sourceTree = "<group>"; };
		3ADCCD29172E40120007BE8E /* pjsua_app_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_common.c; path = ../../pjsua_app_common.c; sourceTree = "<group>"; };
		3ADCCD2A172E40120007BE8E /* pjsua_app_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_config.c; path = ../../pjsua_app_config.c; sourceTree = "<group>"; };
		3ADCCD2B172E40120007BE8E /* pjsua_app_legacy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_legacy.c; path = ../../pjsua_app_legacy.c; sourceTree = "<group>"; };
		3ADCCD2C172E40120007BE8E /* pjsua_app.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app.c; path = ../../pjsua_app.c; sourceTree = "<group>"; };
		3AF0580416F050770046B835 /* ipjsua.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ipjsua.app; sourceTree = BUILT_PRODUCTS_DIR; };
		3AF0580816F050770046B835 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		3AF0580A16F050770046B835 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		3AF0580C16F050770046B835 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		3AF0581016F050780046B835 /* ipjsua-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ipjsua-Info.plist"; sourceTree = "<group>"; };
		3AF0581216F050780046B835 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		3AF0581416F050780046B835 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		3AF0581616F050780046B835 /* ipjsua-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ipjsua-Prefix.pch"; sourceTree = "<group>"; };
		3AF0581716F050780046B835 /* ipjsuaAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ipjsuaAppDelegate.h; sourceTree = "<group>"; };
		3AF0581816F050780046B835 /* ipjsuaAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ipjsuaAppDelegate.m; sourceTree = "<group>"; };
		3AF0581A16F050780046B835 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
		3AF0581C16F050780046B835 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
		3AF0581E16F050780046B835 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
		3AF0582016F050780046B835 /* ipjsuaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ipjsuaViewController.h; sourceTree = "<group>"; };
		3AF0582116F050780046B835 /* ipjsuaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ipjsuaViewController.m; sourceTree = "<group>"; };
		3AF0582416F050780046B835 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ipjsuaViewController_iPhone.xib; sourceTree = "<group>"; };
		3AF0582716F050780046B835 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ipjsuaViewController_iPad.xib; sourceTree = "<group>"; };
		3AF0583616F057740046B835 /* libpj-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpj-arm-apple-darwin9.a"; path = "../../../../pjlib/lib/libpj-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0583816F057890046B835 /* libpjlib-util-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjlib-util-arm-apple-darwin9.a"; path = "../../../../pjlib-util/lib/libpjlib-util-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0583A16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0583B16F057B20046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-audiodev-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-audiodev-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0583C16F057B20046B835 /* libpjmedia-codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-codec-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-codec-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0583D16F057B20046B835 /* libpjmedia-videodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-videodev-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-videodev-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0583E16F057B20046B835 /* libpjsdp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsdp-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjsdp-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584416F057D30046B835 /* libpjnath-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjnath-arm-apple-darwin9.a"; path = "../../../../pjnath/lib/libpjnath-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584616F057F70046B835 /* libpjsip-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsip-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584716F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-simple-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsip-simple-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584816F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-ua-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsip-ua-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584916F057F70046B835 /* libpjsua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsua-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsua-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584E16F058290046B835 /* libg7221codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libg7221codec-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libg7221codec-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0584F16F058290046B835 /* libgsmcodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgsmcodec-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libgsmcodec-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0585016F058290046B835 /* libilbccodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libilbccodec-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libilbccodec-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0585116F058290046B835 /* libmilenage-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmilenage-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libmilenage-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0585216F058290046B835 /* libresample-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libresample-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libresample-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0585316F058290046B835 /* libspeex-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libspeex-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libspeex-arm-apple-darwin9.a"; sourceTree = "<group>"; };
		3AF0585416F058290046B835 /* libsrtp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libsrtp-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libsrtp-arm-apple-darwin9.a"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		3AF0580116F050770046B835 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3A92069316F1DEA500D49F96 /* CFNetwork.framework in Frameworks */,
				3A92068F16F1DE7100D49F96 /* AudioToolbox.framework in Frameworks */,
				3AF0580916F050770046B835 /* UIKit.framework in Frameworks */,
				3AF0580B16F050770046B835 /* Foundation.framework in Frameworks */,
				3AF0580D16F050770046B835 /* CoreGraphics.framework in Frameworks */,
				3AF0583716F057740046B835 /* libpj-arm-apple-darwin9.a in Frameworks */,
				3AF0583916F057890046B835 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */,
				3AF0583F16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a in Frameworks */,
				3AF0584016F057B30046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */,
				3AF0584116F057B30046B835 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */,
				3AF0584216F057B30046B835 /* libpjmedia-videodev-arm-apple-darwin9.a in Frameworks */,
				3AF0584316F057B30046B835 /* libpjsdp-arm-apple-darwin9.a in Frameworks */,
				3AF0584516F057D30046B835 /* libpjnath-arm-apple-darwin9.a in Frameworks */,
				3AF0584A16F057F70046B835 /* libpjsip-arm-apple-darwin9.a in Frameworks */,
				3AF0584B16F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */,
				3AF0584C16F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */,
				3AF0584D16F057F70046B835 /* libpjsua-arm-apple-darwin9.a in Frameworks */,
				3AF0585516F058290046B835 /* libg7221codec-arm-apple-darwin9.a in Frameworks */,
				3AF0585616F058290046B835 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */,
				3AF0585716F058290046B835 /* libilbccodec-arm-apple-darwin9.a in Frameworks */,
				3AF0585816F058290046B835 /* libmilenage-arm-apple-darwin9.a in Frameworks */,
				3AF0585916F058290046B835 /* libresample-arm-apple-darwin9.a in Frameworks */,
				3AF0585A16F058290046B835 /* libspeex-arm-apple-darwin9.a in Frameworks */,
				3AF0585B16F058290046B835 /* libsrtp-arm-apple-darwin9.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		3A92068D16F1D1A100D49F96 /* pjsua */ = {
			isa = PBXGroup;
			children = (
				3ADCCD28172E40120007BE8E /* pjsua_app_cli.c */,
				3ADCCD29172E40120007BE8E /* pjsua_app_common.c */,
				3ADCCD2A172E40120007BE8E /* pjsua_app_config.c */,
				3ADCCD2B172E40120007BE8E /* pjsua_app_legacy.c */,
				3ADCCD2C172E40120007BE8E /* pjsua_app.c */,
			);
			name = pjsua;
			sourceTree = "<group>";
		};
		3AF057F916F050770046B835 = {
			isa = PBXGroup;
			children = (
				3AF0580E16F050770046B835 /* ipjsua */,
				3AF0580716F050770046B835 /* Frameworks */,
				3AF0580516F050770046B835 /* Products */,
				3AF0583516F056CC0046B835 /* Libraries */,
			);
			sourceTree = "<group>";
		};
		3AF0580516F050770046B835 /* Products */ = {
			isa = PBXGroup;
			children = (
				3AF0580416F050770046B835 /* ipjsua.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		3AF0580716F050770046B835 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				3A92069216F1DEA500D49F96 /* CFNetwork.framework */,
				3A92068E16F1DE7100D49F96 /* AudioToolbox.framework */,
				3AF0580816F050770046B835 /* UIKit.framework */,
				3AF0580A16F050770046B835 /* Foundation.framework */,
				3AF0580C16F050770046B835 /* CoreGraphics.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		3AF0580E16F050770046B835 /* ipjsua */ = {
			isa = PBXGroup;
			children = (
				3A92068D16F1D1A100D49F96 /* pjsua */,
				3AF0581716F050780046B835 /* ipjsuaAppDelegate.h */,
				3AF0581816F050780046B835 /* ipjsuaAppDelegate.m */,
				3AF0582016F050780046B835 /* ipjsuaViewController.h */,
				3AF0582116F050780046B835 /* ipjsuaViewController.m */,
				3AF0582316F050780046B835 /* ipjsuaViewController_iPhone.xib */,
				3AF0582616F050780046B835 /* ipjsuaViewController_iPad.xib */,
				3AF0580F16F050780046B835 /* Supporting Files */,
			);
			path = ipjsua;
			sourceTree = "<group>";
		};
		3AF0580F16F050780046B835 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				3AF0581016F050780046B835 /* ipjsua-Info.plist */,
				3AF0581116F050780046B835 /* InfoPlist.strings */,
				3AF0581416F050780046B835 /* main.m */,
				3AF0581616F050780046B835 /* ipjsua-Prefix.pch */,
				3ADCCD161715338D0007BE8E /* pjsua.png */,
				3AF0581A16F050780046B835 /* Default.png */,
				3AF0581C16F050780046B835 /* Default@2x.png */,
				3AF0581E16F050780046B835 /* Default-568h@2x.png */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		3AF0583516F056CC0046B835 /* Libraries */ = {
			isa = PBXGroup;
			children = (
				3AF0584E16F058290046B835 /* libg7221codec-arm-apple-darwin9.a */,
				3AF0584F16F058290046B835 /* libgsmcodec-arm-apple-darwin9.a */,
				3AF0585016F058290046B835 /* libilbccodec-arm-apple-darwin9.a */,
				3AF0585116F058290046B835 /* libmilenage-arm-apple-darwin9.a */,
				3AF0585216F058290046B835 /* libresample-arm-apple-darwin9.a */,
				3AF0585316F058290046B835 /* libspeex-arm-apple-darwin9.a */,
				3AF0585416F058290046B835 /* libsrtp-arm-apple-darwin9.a */,
				3AF0584616F057F70046B835 /* libpjsip-arm-apple-darwin9.a */,
				3AF0584716F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a */,
				3AF0584816F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a */,
				3AF0584916F057F70046B835 /* libpjsua-arm-apple-darwin9.a */,
				3AF0584416F057D30046B835 /* libpjnath-arm-apple-darwin9.a */,
				3AF0583A16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a */,
				3AF0583B16F057B20046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a */,
				3AF0583C16F057B20046B835 /* libpjmedia-codec-arm-apple-darwin9.a */,
				3AF0583D16F057B20046B835 /* libpjmedia-videodev-arm-apple-darwin9.a */,
				3AF0583E16F057B20046B835 /* libpjsdp-arm-apple-darwin9.a */,
				3AF0583816F057890046B835 /* libpjlib-util-arm-apple-darwin9.a */,
				3AF0583616F057740046B835 /* libpj-arm-apple-darwin9.a */,
			);
			name = Libraries;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		3AF0580316F050770046B835 /* ipjsua */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3AF0582B16F050780046B835 /* Build configuration list for PBXNativeTarget "ipjsua" */;
			buildPhases = (
				3AF0580016F050770046B835 /* Sources */,
				3AF0580116F050770046B835 /* Frameworks */,
				3AF0580216F050770046B835 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = ipjsua;
			productName = ipjsua;
			productReference = 3AF0580416F050770046B835 /* ipjsua.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		3AF057FB16F050770046B835 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				CLASSPREFIX = ipjsua;
				LastUpgradeCheck = 0450;
				ORGANIZATIONNAME = Teluu;
			};
			buildConfigurationList = 3AF057FE16F050770046B835 /* Build configuration list for PBXProject "ipjsua" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 3AF057F916F050770046B835;
			productRefGroup = 3AF0580516F050770046B835 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				3AF0580316F050770046B835 /* ipjsua */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		3AF0580216F050770046B835 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3AF0581316F050780046B835 /* InfoPlist.strings in Resources */,
				3AF0581B16F050780046B835 /* Default.png in Resources */,
				3AF0581D16F050780046B835 /* Default@2x.png in Resources */,
				3AF0581F16F050780046B835 /* Default-568h@2x.png in Resources */,
				3AF0582516F050780046B835 /* ipjsuaViewController_iPhone.xib in Resources */,
				3AF0582816F050780046B835 /* ipjsuaViewController_iPad.xib in Resources */,
				3ADCCD171715338D0007BE8E /* pjsua.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		3AF0580016F050770046B835 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3AF0581516F050780046B835 /* main.m in Sources */,
				3AF0581916F050780046B835 /* ipjsuaAppDelegate.m in Sources */,
				3AF0582216F050780046B835 /* ipjsuaViewController.m in Sources */,
				3ADCCD2D172E40120007BE8E /* pjsua_app_cli.c in Sources */,
				3ADCCD2E172E40120007BE8E /* pjsua_app_common.c in Sources */,
				3ADCCD2F172E40120007BE8E /* pjsua_app_config.c in Sources */,
				3ADCCD30172E40120007BE8E /* pjsua_app_legacy.c in Sources */,
				3ADCCD31172E40120007BE8E /* pjsua_app.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		3AF0581116F050780046B835 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3AF0581216F050780046B835 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		3AF0582316F050780046B835 /* ipjsuaViewController_iPhone.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3AF0582416F050780046B835 /* en */,
			);
			name = ipjsuaViewController_iPhone.xib;
			sourceTree = "<group>";
		};
		3AF0582616F050780046B835 /* ipjsuaViewController_iPad.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3AF0582716F050780046B835 /* en */,
			);
			name = ipjsuaViewController_iPad.xib;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		3AF0582916F050780046B835 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 6.0;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		3AF0582A16F050780046B835 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 6.0;
				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		3AF0582C16F050780046B835 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "ipjsua/ipjsua-Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"PJ_AUTOCONF=1",
					USE_GUI,
				);
				HEADER_SEARCH_PATHS = (
					../../../../pjsip/include,
					../../../../pjlib/include,
					"../../../../pjlib-util/include",
					../../../../pjnath/include,
					../../../../pjmedia/include,
					..,
				);
				INFOPLIST_FILE = "ipjsua/ipjsua-Info.plist";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)\"",
					"\"$(SRCROOT)/../../../../pjlib/lib\"",
					"\"$(SRCROOT)/../../../../pjlib-util/lib\"",
					"\"$(SRCROOT)/../../../../pjmedia/lib\"",
					"\"$(SRCROOT)/../../../../pjnath/lib\"",
					"\"$(SRCROOT)/../../../../pjsip/lib\"",
					"\"$(SRCROOT)/../../../../third_party/lib\"",
				);
				ONLY_ACTIVE_ARCH = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Debug;
		};
		3AF0582D16F050780046B835 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "ipjsua/ipjsua-Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"PJ_AUTOCONF=1",
					USE_GUI,
				);
				HEADER_SEARCH_PATHS = (
					../../../../pjsip/include,
					../../../../pjlib/include,
					"../../../../pjlib-util/include",
					../../../../pjnath/include,
					../../../../pjmedia/include,
					..,
				);
				INFOPLIST_FILE = "ipjsua/ipjsua-Info.plist";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)\"",
					"\"$(SRCROOT)/../../../../pjlib/lib\"",
					"\"$(SRCROOT)/../../../../pjlib-util/lib\"",
					"\"$(SRCROOT)/../../../../pjmedia/lib\"",
					"\"$(SRCROOT)/../../../../pjnath/lib\"",
					"\"$(SRCROOT)/../../../../pjsip/lib\"",
					"\"$(SRCROOT)/../../../../third_party/lib\"",
				);
				ONLY_ACTIVE_ARCH = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		3AF057FE16F050770046B835 /* Build configuration list for PBXProject "ipjsua" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3AF0582916F050780046B835 /* Debug */,
				3AF0582A16F050780046B835 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		3AF0582B16F050780046B835 /* Build configuration list for PBXNativeTarget "ipjsua" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3AF0582C16F050780046B835 /* Debug */,
				3AF0582D16F050780046B835 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 3AF057FB16F050770046B835 /* Project object */;
}
