= Getting Started: Building for Apple iPhone, iPad and iPod Touch = [[TracNav(Getting-Started/TOC)]] [[PageOutline(2-3,,inline)]] Apple iPhone target is supported by PJSIP version 1.7 and later. == Features == Some of the features of the iPhone port: - it has a native !CoreAudio based audio device, which supports the following features: * the built-in/device's echo canceller * output volume setting * change input route to bluetooth input * change output route * input latency setting * output latency setting - supports for the built-in iLBC codec == Requirements == You'll need an iPhone SDK. We tested mainly with version 3.x SDK/devices, but SDK version 2.x would build fine too. Apple iPad is supported starting with iPhone SDK 3.2. == Build Preparation == 1. [wiki:Getting-Started/Download-Source Get the source code], if you haven't already. 2. Set your [wiki:Getting-Started/Build-Preparation config_site.h] to the following: {{{ #define PJ_CONFIG_IPHONE 1 #include }}} This will activate iPhone specific settings in the {{{config_site_sample.h}}}. == Building PJSIP == Just run: {{{ $ cd /path/to/your/pjsip/dir $ ./configure-iphone $ make dep && make clean && make }}} Notes: * the {{{./configure-iphone}}} is a wrapper that calls the standard {{{./configure}}} script with settings suitable for iPhone target. * the latest iPhone SDK version will be selected by default. You may change this by setting {{{IPHONESDK}}} environment variable to the desired SDK path. * you may pass standard {{{./configure}}} options to this script too. * for more info, run {{{./configure-iphone --help}}} * other customizations are similar to what is explained in [wiki:Getting-Started/Autoconf Building with GNU] page. == Simulator == To configure the build system for the iPhone simulator: {{{ $ export DEVPATH=/Developer/Platforms/iPhoneSimulator.platform/Developer $ export CC=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0 $ ./configure-iphone $ make dep && make clean && make }}} Note that the exact paths may vary according to your SDK version. == Other iPhone Projects == Also have a look at these PJSIP iPhone ports by pjsip users: * [http://code.google.com/p/siphon/ Siphon] Project by Samuel Vinson * [http://code.google.com/p/pjsip-iphone-audio-driver/ iPhone Audio Driver] by [http://www.voalte.com/ Voalté] * [http://code.teluu.com/tabikphone/ TabikPhone], an adaptation of Sipphone code from V-Net Corp