Call Us Today! 877.742.2583

Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.




The manual installation steps below involve downloading and installing the following software:

It takes one to two hours to have the sample FreeSWITCH™ configuration running on macOS. There's extra information for technical people who want it, don't be concerned if you don't understand it.



All of the software this procedure installs can be removed easily except for a small part of Xcode's Command Line Tools that can remain. However, to restore to a point where nothing was installed added or changed, a backup is required.

Terminal Application Preferences

The Terminal application is used extensively during installation. The following changes are highly recommended:

  1. Copy Terminal in the Applications/Utilities folder into the Dock for quick access.
  2. Start the Terminal application by clicking it in the dock. Then open its preferences panel.
  3. In Settings–>Profiles–>Window change the Window Size to larger values such as 140x48 to reduce having to resize the window often.


Additional programs are required to generate and run FreeSWITCH™. They are installed using  using Homebrew, a package manager and its repository of products for macOS. Homebrew saves time since there is no need to locate packages and determine the version required for each macOS release. Homebrew's Git repository is maintained by volunteers. 

macOS Developer Tools

The macOS Developer Tools are composed of two parts, the Xcode Software Developer Kit used to develop and test macOS GUI applications, and the Generation of FreeSWITCH™ and its prerequisites require the macOS Developer Command Line Tools that provide LLVMClangGit and other tools required tools required to generate non-GUI applications such as FreeSWITCH™ and its prerequisites. The Command Line Tools are included with Xcode or can be downloaded independently. If they are installed as part of Xcode and Apple upgrades Xcode, typically, . The Xcode Software Developer Kit used to develop macOS GUI applications already includes the CLT. This is not something you need to worry about because if:

  1. Xcode and CLT are not already installed Homebrew will download and install the Command Line Tools during Homebrew installation.
  2. You are using the latest macOS and Xcode is installed, the correct CLT is already installed.
  3. You are using a macOS prior to the latest release and Xcode is installed you may have the wrong CLT. That's because when Apple upgrades Xcode, only the latest release of macOS CLT are usually supplied. If macOS is not the latest release, the CLT


  1. may not match.


  1.   Homebrew will determine if the correct Command Line Tools are already installed. If not, it will download and install them during Homebrew installation.


Install the Homebrew Package Manager and Prerequisites

The Homebrew package manager and prerequisites takes several minutes to install.


The basic FreeSWITCH™ prerequisite packages are installed by running the following command (copy/paste the entire line) in Terminal from any directory:

Code Block
brew install autoconf automake curl FreeSWITCH/homebrew-freeswitch/flite jpeg ldns libsndfile libtiff libtool lua openssl opus pcre pkg-config speex speexdsp sqlite yasm
Some packages produce Ignore any keg-only messages which can be ignored. It means , they mean an alias (link) for the package was not placed into /usr/local/bin because brew found that macOS has another version installed. This is not a problem because the FreeSWITCH™ installation process searches Homebrew directories to find package.
titleAlready had some prerequisites installed?

If non-Apple compilers are installed, or prerequisites were previously installed without homebrew, there may be problems.



The primary FreeSWITCH™ releases are: The current Current production version, recommended for production systems, unless you need newer features or patches added since its release. The master development versionCurrent branch, contains in-test fixes since current production, intended as the next maintenance release. Master development, containing the latest fixes and features used during development, intended as the next major release. Additional Information is located at Source Options.


Download Current Production

Current production FreeSWITCH™ versions in zip format are downloaded from freeswitch-files, then rename and move the unzipped directory to /usr/local/src. It's much easier to copy/paste the very long line below into the Terminal command line. This single line performs: 1- Determines the latest production release available. 2- Downloads the compressed source file. 3- Decompresses the file into a folder in the current directory (should be /usr/local/src/). 4- Renames the folder to freeswitch.

Code Block
FSfile=$(curl -s | sed -n 's/.*"\(freeswitch\-[0-9]*\.[0-9]*\.[0-9]*\.tar\.gz\)".*/\1 /p' | tail -n 1) && echo Downloading $FSfile && curl$FSfile | tar -xz && mv ${FSfile/.tar.gz//} freeswitch

Download Master Development


If there are problems with the current production version, the developers may request that you install the current branch or master development for diagnosis.

Download Current Branch

The git command creates the freeswitch directory in src  (/usr/local/src/freeswitch) and downloads the FreeSWITCH™ source files. If there are problems with the current production version, the developers may request that you install the master version or current branch for diagnosis., replace # with the release number. 

Code Block
git clone –b v1.#  # Master Development
git clone –b v1.$ 

Download Master Development

The git command creates the freeswitch directory in src  (/usr/local/src/freeswitch) and downloads the FreeSWITCH™ master development source files.

Code Block
git clone
# Current branch, replace $ with release number - Use only if directed



Install FreeSWITCH™

Generate Installation and Configuration Files

This step creates First, change to the newly created freeswitch directory containing the source:

Code Block
cd freeswitch

Perform the next line only if current branch or master development were download. It creates many additional installation files based on the operating system and installed packages. ./ creates many files such as . For instance, modules.conf used to add optional functionality to FreeSWITCH™, while ./configure sets compilation options. Enter the following commands (each will . The command will run several minutes):

Code Block
cd freeswitch    # <- the new freeswitch directory containing the source
./   # <- ONLY if Master Development was git downloaded! SKIP Not for Current Production version.

This step determines if the correct prerequisites are installed and sets compilation options. It will run several minutes:

Code Block

Add Text–To–Speech Module