Building recon

From reSIProcate

Jump to: navigation, search

Contents

[edit] Setting up the build environment

You build directory structure should be setup as follows:

/resip/                      <- https://svn.resiprocate.org/rep/resiprocate/main
/resip/contrib/openssl       <- https://svn.resiprocate.org/rep/resiprocate/contrib/dtls-srtp/openssl
/resip/contrib/boost_1_34_1  <- BOOST 1.34.1 (required in this location for Windows builds only)
/sipXtapi                    <- https://scm.sipfoundry.org/rep/sipX/main
Note:  One recon user suggested the use of the free boost_1_34_1_setup.exe 
       from Boostpro (http://www.boostpro.com) as an easy way of downloading 
       and building the right Boost version for Windows.
  1. Go to directory where you want to create build env.
  2. svn checkout https://svn.resiprocate.org/rep/resiprocate/main resip
  3. svn checkout https://scm.sipfoundry.org/rep/sipX/main sipXtapi
  4. cd resip/contrib
  5. svn checkout https://svn.resiprocate.org/rep/resiprocate/contrib/dtls-srtp/openssl openssl
Note:  sipXtapi SVN repository has recently changed locations from: 
       https://scm.sipfoundry.org/rep/sipX/branches/sipXtapi     to 
       https://scm.sipfoundry.org/rep/sipX/main.  If you are migrating a local
       check out use the following command, or TortoiseSVN, to update your local 
       copy to the new location:
       svn switch https://scm.sipfoundry.org/rep/sipX/main
Note:  The head revision of both projects are normally kept in sync, so
       that is the best place to start.  The recon readme.txt contains the
       minimum SVN revision number of sipXtapi that is required.

[edit] Building dtls-srtp version of OpenSSL on Windows

recon currently uses a branch of OpenSSL that contains modifications to do dtls-srtp.

/resip/contrib/openssl <- https://svn.resiprocate.org/rep/resiprocate/contrib/dtls-srtp/openssl

You will need ActiveState Perl, available from http://www.activestate.com/ActivePerl - there is a free version available for download.


[edit] To build openSSL for windows using VS2003

  1. Use VS2003 Command Prompt window - Note: 0.9.8g will not build Crypto ASM fns with VS2003 MASM - we will build openssl with no ASM
  2. From openssl root run: perl Configure VC-WIN32 enable-tlsext
  3. Run: perl util\mkfiles.pl >MINFO
  4. Run: perl util\mk1mf.pl no-asm debug VC-WIN32 > d32.mak
  5. Run: perl util\mk1mf.pl no-asm VC-WIN32 > 32.mak
  6. Run: nmake -f d32.mak
  7. Run: nmake -f 32.mak

[edit] To build openSSL for windows using VS2005/2008/2010

  1. Use VS2005/2008/2010 Command Prompt window
  2. From openssl root run: perl Configure VC-WIN32 enable-tlsext
  3. Run: ms\do_masm
  4. Run: perl util\mkfiles.pl >MINFO
  5. Run: perl util\mk1mf.pl debug VC-WIN32 > d32.mak
  6. Run: perl util\mk1mf.pl VC-WIN32 > 32.mak
  7. For VS2010 only: Edit e_os.h file in the root dir, find the line with EADDRINUSE in it and comment it out.
  8. Run: nmake -f d32.mak
  9. Run: nmake -f 32.mak


[edit] Building recon on Windows

  1. Ensure the build environment is setup as indicated above.
  2. Use
    1. recon_7_1.sln Visual Studio 2003 solution file or
    2. recon_8_0.sln Visual Studio 2005 solution file or
    3. recon_9_0.sln Visual Studio 2008 solution file or
    4. recon_10_0.sln Visual Studio 2010 solution file
  3. Open the sipXmediaAdapterLib project settings and enable the following defines by removing the 'xx' characters from the Preprocessor defines. You should do this for both Debug and Release project settings. Note: newer version of sipXtapi projects default to this configuration already, so this step may not be necessary.
    1. DISABLE_DEFAULT_PHONE_MEDIA_INTERFACE_FACTORY
    2. ENABLE_TOPOLOGY_FLOWGRAPH_INTERFACE_FACTORY
  4. Open the sipXmediaAdapterLib and sipXmediaLib project settings and add DISABLE_STREAM_PLAYER to the Preprocessor defines. You should do this for both Debug and Release project settings. Note: newer version of sipXtapi projects default to this configuration already, so this step may not be necessary.
  5. Provide an include path to pcre for the sipXmediaLib projects by doing one of the following:
    1. Modify your base Visual Studio settings for include paths - add an include path to \resip\contrib\pcre
    2. Modify the Additional Include Directories settings of the sipXmediaAdapterLib, sipXmedaLib and sipXportLib projects to include: ";..\..\resip\contrib\pcre"
    3. Modify the Additional Library Directories link settings of the sipXportLib project to point to ..\..\resip\contrib\pcre\Debug or ..\..\resip\contrib\pcre\Release appropriately.
  6. Build solution.
Note:  If you are using VS2005 or above the first time you open the solution you will get asked to convert the 
       libspeex VS2003 project files to the correct format.  Just allow the converstion to run.


[edit] Running testUA on Windows

By default you will be able to run testUA from the VS debugger, but if you decide to run testUA.exe on another machine you will need the following:


[edit] Building sipXtapi on Generic Linux

Note: sipXtackLib is no longer required with the addition of the DISABLE_STREAM_PLAYER define

   cd sipXtapi/sipXportLib
   autoreconf -fi
   ./configure --prefix=/tmp/stage
   make
   cd sipXtapi/sipXsdpLib
   autoreconf -fi
   ./configure --prefix=/tmp/stage
   make
   cd sipXtapi/sipXmediaLib
   autoreconf -fi
   ./configure --prefix=/tmp/stage --enable-local-audio --disable-stream-player
   make
   cd sipXtapi/sipXmediaAdapterLib
   autoreconf -fi
   ./configure --prefix=/tmp/stage --enable-topology-graph --disable-stream-player
   make


[edit] Building recon on Generic Linux

   Go to resip/contrib/openssl
   ./Configure {place-target-platform-here} --openssldir=/usr enable-tlsext
   make depend
   make
   - answer 'yes' to prompt to build reCon - Conversation Manager
   - make sure you enter the path to the dtls-srtp version of OpenSSL when it asks
     (ie: ....resip/contrib/openssl)


[edit] Running testUA on Generic Linux

   cp ../../../../sipXtapi/sipXmediaLib/bin/*.so ./
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox