Call Us Today! 877.742.2583




Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated for VS 2017

...

Panel
borderColorlightgray
bgColor#eeeeff
borderWidth1
titleBGColor#f7f7f7
borderStyledotted
titlePre-Built Binaries


Excerpt

Freeswitch Installer .msi

The binary MSI installer is built each weekend from Git head, includes default modules and 8KHz sounds, and is available for x64 (64-bit) architecture.



...

Install from Source

...

Prepare

Install Visual Studio 2017 (with C++ component) and Windows SDK 8.1

Decide what directories to load FreeSWITCH into. The source and binaries can go into separate directories. For instanceexample, cd:\source and cd:\freeswitch directories.

Note
titleWindows line endings

Windows uses CR+LF (carriage return plus line feed) to represent the end of text lines, whereas linux uses only LF (line feed). This causes problems when using linux source code on a Windows system, so beware of the notes below about CRLF line endings.

Git Clients for Windows

To obtain the most up-to-date FreeSWITCH version, a Git client must be installed.

mSysGit

The mSysGit Git client for Windows works well . Additional information is here.

...

and provides both a bash CLI as well as a Windows GUI and shell integration, so you won't need TortoiseGit after all.


Info
titleWindows vs linux line endings

On Windows you must Select CheckOut as-is, Commit as-is in order to Set core.autocrlf = False. 

Verify the core.autocrlf values type on git config --get-all core.autocrlf is false


Once Git is installed, the FreeSWITCH source can be downloaded cloned from the Git Bash command line, for instance:

Code Block
git clone https://stashgithub.freeswitch.orgcom/scmsignalwire/fsfreeswitch/freeswitch.git C:/FS_GIT/

...

Consult mSysGit documentation to learn about using the GUI.

TortoiseGit for Windows GUI Tool

TortoiseGit is an optional Front-End GUI to the Git client previously installed.

TortoiseGit x64 and x32

Note

Check the TortoiseGit general settings for the location of the Git client. msysgit -> Git.exe Path otherwise set it , i.e., to the path on your system, for example "C:\Program Files (x86)\Git\bin."

Once TortoiseGit is installed, follow these steps:

...

  • See the screen shot below. To check the actual .gitconfig file select edit global config to verify.
  • If you do not have this properly set the line endings will be incorrect and your build will fail.
  • I've see the GUI not update the actual .gitconfig file so that is why it is good to verify it.

  • Open the Windows Explorer
  • Navigate to an appropriate folder a folder to hold the source code (like My Documents\sources)
  • Create a new folder named "FreeSWITCH"
  • Set autocrlf=false otherwise the gawk scripts will fail!
  • Right-click the "FreeSWITCH" folder and click on "Git Clone"
  • The clone will take several minutes to download the source code.

When the clone is finished, you can check the status by right-clicking and selecting properties on the cloned folder, and selecting the Git tab. You'll see something like:

...

To compile FreeSWITCH on Windows, you will need Visual Studio 2008, 2010 full or Express version.2017 (with C++ component) and Windows SDK 8.1

Note
titleSolution file

NOTE (1): There is a solution file specifically for VC++ 2008, 2010 Express2017. If you open the wrong solution file you will need to click "OK" about 65 times to get through the "solution folders not supported" messages.

See also Freeswitch.2017.sln.bat on github


Note
titlemod managed

NOTE (2): When building Freeswitch using VC++ 2008, 2010 Express you will need to 'remove' from the build list " mod_managed ", since that requires C# which is not part of VC++ 2008, 2010 Express. 

Note

NOTE (3): When building using VC++ 2008, 2010 Express to remove the warnings about 64-bit support the Windows SDK Version 7.1 can be installed after VC++ 2008, 2010 Express has been installedmight not be included with your Visual Studio build system. In that case, remove it from the build list.

To 'remove' modules from the build, just right click on the module name in the Solution Explorer, select Unload Project


Note
titlemod cepstral

NOTE (43): You will need to 'Remove' mod_cepstral unless you have the SDK installed. 

To 'remove' modules from the build, just right click on the module name in the Solution Explorer, select Unload Project. 

Compiling

  • Open Freeswitch.2008.sln or Freeswitch.2010.sln depending on your Visual Studio version (or Freeswitch.2008.express.sln, Freeswitch.2010.express.sln if using VC++ Express Edition)2017.sln
  • Select whether you want a Release or Debug build and Win32 or x64
  • Right click the main solution node at the top of the Solution Explorer
  • Right click and select Build

...

Then Rebuild the solution.

Building under VS 2008 may require that you disable "Enable Minimal Rebuild" in the properties pane for FreeSwitchCoreLib project if VS reports an internal compilation error in SimpleGlob.h.

You may also need to "Enable default libraries" in the properties pane for XML Interfaces\mod_xml_rpc if VS complains of numerous unresolved external symbols, e.g., _memset, _strcmp.

You may also have to disable your virus scanner(AVG2011, Avast) in case you have gawk failures (resulting in missing .h files), and remember to turn it back on after! (Had this issue on Win 7 64bit)

Info
titleBuilding for other platforms

After following the instructions above to build for Windows, you will need to delete "libs/js/nsprpub/pr/include/prcpucfg.h" and rerun "./bootstrap.sh" before building for another platform.

Building The Installer

The above steps produce a Debug or Release version of FreeSWITCH in the <git dir>/Win32/Release or Debug directories. 

To build the FreeSWITCH install package:

  • Use the full VS 20102017, Express version will not build the Installer version
  • This requires you to install WIX 3.0 or later. WIX
  • set Set the Solution Configuration to Release and right-click on Setup in the Solution Explorer. This creates the FreeSWITCH.msi file in <git dir>/w32/Setup/bin/<platform>/release. 

...


Info

As of September 2012

...

there is an art (or rather a knack) to building the installer. You

...

must build for w32 first; then you can build the Installer (using either the x86 Setup or x64 Setup targets). If you don't do this w32 build first, the sound files will not be where the Installer build file expects them to be, and an x64 installer build will fail.

You could hack the x64 Setup file's pre-build properties to change the sound file command from ...w32/Release to x64/Release, but it's easier just to do the builds in this order. 
As Jeff Lenk said on the freeswitch-users list: "At this time the installer is designed to require the 32 bit version to be run first which satisfies the sound file requirements."


...

Running FreeSWITCH


Warningnote
titleWindows Firewall

If you are using the Windows or other firewall make sure you must add FreeSWITCH as an exception, otherwise no incoming SIP connections will work. If you permit an exception for the FreeSWITCH process it will be able to listen on the standard SIP ports as well as ephemeral media ports to allow audio to pass through the firewall.

Basic Commands

All of the console commands are covered on this wiki page: Core Commands

Getting Started and Basic Configuration

Finally, the Getting Started Configuring FreeSWITCH wiki page has some useful extensions to try out Some stuff to try out! The information to get you started. The default configuration includes 20 endpoint definitions in %FS%\conf\directory\default\ (1000-1019).xml. More information on endpoints: User Configurationsee the User Directory page where registered endpoints (extensions) are defined.

See here to configure a trunk (gateway) - Sample Gateway Configuration

And to dial out via your newly created gateway - Dialing out via Gateway

Finally, receiving inbound calls from your gateway - Receiving an inbound call from a Gateway which also shows how to test inbound and outbound calls via your new gateway definition.

Path Separator

Although Windows generally uses the backslash character as the path separator, all modern versions of Windows support using the forward slash as well. Internally FreeSWITCH uniformly uses the forward slash character for path separation. In your configuration files use the forward slash and not a back slash:

Code Block
themeEmacs
titleUse Forward Slash
<action application="playback" data="c:/path/to/soundfile.wav"/>

Email Voicemail

FreeSWITCH on Windows supports sending email notifications of voicemail via SMTP from Windows.

...

Code Block
###################################
account gmail
host smtp.gmail.com
auth on
user jdoe@gmail.com
password mypassword
tls on
tls_starttls on
tls_trust_file "C:\Documents and Settings\jdoe\Application Data\ThawtePremiumServerCA_b64.txt"

port 587

from jdoe@gmail.com
maildomain gmail.com
account default : gmail
###################################

 

Spanish FreeSWITCH Windows Guide

The Spanish language version of installing FreeSWITCH 1.0.4 on Windows Vista is no longer available.