= Getting Started: Building for Windows Phone = [[TracNav(Getting-Started/TOC)]] [[PageOutline(2-3,,inline)]] == Build Preparation == * Get the source code from Windows Phone branch located in: '''http://svn.pjsip.org/repos/pjproject/branches/projects/winphone''' * Set your [wiki:Getting-Started/Build-Preparation config_site.h] to the following: {{{ #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define PJMEDIA_AUDIO_DEV_HAS_WMME 0 #define PJMEDIA_AUDIO_DEV_HAS_WASAPI 1 }}} == Requirements == === Tools and SDKs === The Visual Studio based project files can be used with one of the following tools: * Microsoft Visual Studio 2012. Tested on Professional and Express version. In addition, the following SDK is needed: * [http://dev.windowsphone.com/en-us/downloadsdk Windows phone SDK]. The SDK also provides Visual Studio Express 2012 for Windows Phone. === Host requirements === For the host, the following are required: * Operating System type : 64-bit Windows 8 Professional or higher. === Configuring the Windows Phone device for Development === * For the rest of this tutorial, we will assume that you already have the Windows Phone target device configured for development. If not, follow [http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769508(v=vs.105).aspx ​these instructions]. == Building and running the Projects == Follow the steps below to build the libraries/application using Visual Studio: 1. Open {{{pjproject-vs11.sln}}} solution file. 1. Set '''pjsua_wp''' as Active or Startup Project. 1. Set '''ARM''' as the target platform. 1. Select '''Debug''' or '''Release''' build as appropriate. 1. Build the project. This will build '''pjsua_wp''' application and all libraries needed by '''pjsua_wp'''. 1. Run/deploy the '''pjsua_wp''' application on a registered Windows phone device. 1. You will see telnet instructions on the device's screen. Telnet to this address to operate the application. See [wiki:PJSUA-CLI PJSUA CLI Manual] for command reference. == Debugging Application == To Debug native(C/C++) part of the application: * Set the '''Debugger type''' of pjsua_wp project properties to '''Native Only'''. To Debug managed(C#) part of the application: * Set the '''Debugger type''' of pjsua_wp project properties to '''Managed Only'''. == Other References == * [http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206983%28v=vs.105%29.aspx VoIP apps for Windows Phone 8]